您可以将图形元素与标记中的其他元素无缝混合。布局对图形的作用与对任何其他元素的作用完全相同。 图形和其他内容不仅可以在标记中并排存在,而且它们甚至可以混合在一起。
<TextBlock FontSize="24" TextWrapping="Wrap"> And of course you can put graphics into your text: <Ellipse Fill="Cyan" Width="50" Height="20" /> </TextBlock>
混合是双向的,你不仅可以将控件混合到图形中,还可以在控件中使用图形元素。
以下显示一个以混合文本和图形作为标题的按钮:
<StackPanel> <Button> <StackPanel Orientation="Horizontal"> <Canvas Width="20" Height="18" VerticalAlignment="Center"> <Ellipse Canvas.Left="1" Canvas.Top="1" Width="16" Height="16" Fill="Yellow" Stroke="Black"/> <Ellipse Canvas.Left="4.5" Canvas.Top="5" Width="2.5" Height="3" Fill="Black"/> <Ellipse Canvas.Left="11" Canvas.Top="5" Width="2.5" Height="3" Fill="Black"/> <Path Data="M 5,10 A 3,3 0 0 0 13,10" Stroke="Black" /> </Canvas> <TextBlock VerticalAlignment="Center">Click!</TextBlock> </StackPanel> </Button> <Button HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Ellipse Grid.Column="0" Grid.Row="0" Fill="Yellow" Width="10" Height="10" /> <Ellipse Grid.Column="2" Grid.Row="0" Fill="Red" Width="10" Height="10" /> <Ellipse Grid.Column="0" Grid.Row="2" Fill="Blue" Width="10" Height="10" /> <Ellipse Grid.Column="2" Grid.Row="2" Fill="Blue" Width="10" Height="10" /> <Ellipse Grid.ColumnSpan="3" Grid.RowSpan="3" Stroke="LightGreen" StrokeThickness="3" /> <TextBlock Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" Text="Click!" /> </Grid> </Button> </StackPanel>您可以将表示图形形状的对象添加到用户界面元素树中。形状元素是 UI 树中的对象,与其他任何对象一样,因此您的代码可以随时修改它们。如果您更改某些具有视觉影响的属性(例如大小、位置或颜色),WPF 将自动更新显示。
标签:控件,可以,元素,混合,Graphics,图形,树中 From: https://www.cnblogs.com/friend/p/17064528.html