控件模板 wpf
ControlTemplate wpf
如何将 多边形添加到 ControlTemplate 和 ControlTemplate to button
我该怎么做,但在代码中:
<Button x:Name="btnNew" Content="click me" HorizontalAlignment="Left" Margin="54,10,0,0" VerticalAlignment="Top" Width="250" Height="250" BorderThickness="0" UseLayoutRounding="True" >
<Button.Template>
<ControlTemplate>
<Polygon x:Name="poly" Points="0,50 200,20 230,150 20,200">
<Polygon.Fill>
<ImageBrush x:Name="imgtem" Stretch="Fill" ImageSource="Images/67.png">
</ImageBrush>
</Polygon.Fill>
</Polygon>
</ControlTemplate>
</Button.Template>
</Button>
您可以使用 XamlReader.Parse
创建 ControlTemplate
,然后简单地设置 Button
的属性:
string xaml = "<ControlTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"><Polygon x:Name=\"poly\" Points=\"0,50 200,20 230,150 20,200\"><Polygon.Fill><ImageBrush x:Name=\"imgtem\" Stretch=\"Fill\" ImageSource=\"Images/67.png\"></ImageBrush></Polygon.Fill></Polygon></ControlTemplate>";
ControlTemplate template = System.Windows.Markup.XamlReader.Parse(xaml) as ControlTemplate;
Button button = new Button();
button.Name = "btnNew";
button.Content = "Click me";
button.HorizontalAlignment = HorizontalAlignment.Left;
button.Margin = new Thickness(54, 10, 0, 0);
//...
button.Template = template;
如何将 多边形添加到 ControlTemplate 和 ControlTemplate to button
我该怎么做,但在代码中:
<Button x:Name="btnNew" Content="click me" HorizontalAlignment="Left" Margin="54,10,0,0" VerticalAlignment="Top" Width="250" Height="250" BorderThickness="0" UseLayoutRounding="True" >
<Button.Template>
<ControlTemplate>
<Polygon x:Name="poly" Points="0,50 200,20 230,150 20,200">
<Polygon.Fill>
<ImageBrush x:Name="imgtem" Stretch="Fill" ImageSource="Images/67.png">
</ImageBrush>
</Polygon.Fill>
</Polygon>
</ControlTemplate>
</Button.Template>
</Button>
您可以使用 XamlReader.Parse
创建 ControlTemplate
,然后简单地设置 Button
的属性:
string xaml = "<ControlTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"><Polygon x:Name=\"poly\" Points=\"0,50 200,20 230,150 20,200\"><Polygon.Fill><ImageBrush x:Name=\"imgtem\" Stretch=\"Fill\" ImageSource=\"Images/67.png\"></ImageBrush></Polygon.Fill></Polygon></ControlTemplate>";
ControlTemplate template = System.Windows.Markup.XamlReader.Parse(xaml) as ControlTemplate;
Button button = new Button();
button.Name = "btnNew";
button.Content = "Click me";
button.HorizontalAlignment = HorizontalAlignment.Left;
button.Margin = new Thickness(54, 10, 0, 0);
//...
button.Template = template;