C# 以编程方式使用画布创建按钮
我有一个按钮样式的画布可见性问题。 我为集合中的每个项目动态创建了一个内部有两个按钮的stackPanel。问题是,只有最后一个项目的按钮与其画布一起显示,以前的按钮不再显示 风格 你能看到我的错误吗?这个设定器C# 以编程方式使用画布创建按钮,c#,wpf,canvas,path,C#,Wpf,Canvas,Path,我有一个按钮样式的画布可见性问题。 我为集合中的每个项目动态创建了一个内部有两个按钮的stackPanel。问题是,只有最后一个项目的按钮与其画布一起显示,以前的按钮不再显示 风格 你能看到我的错误吗?这个设定器 <Setter Property="Content"> <Setter.Value> <Control Template="{StaticResource PathDelete}"> <Contr
<Setter Property="Content">
<Setter.Value>
<Control Template="{StaticResource PathDelete}">
<Control.Resources>
<Style TargetType="{x:Type Path}" BasedOn="{StaticResource {x:Type Path}}"/>
</Control.Resources>
</Control>
</Setter.Value>
</Setter>
并在setter中使用资源
<Style x:Key="BtnDeleteStackPanelStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource StackPanelLightButton}" x:Shared="False">
<Setter Property="Content" Value="{StaticResource DelContent}"/>
</Style
另外:您可以使用ItemsControl显示ListAlbum集合,而不是在代码隐藏中构建动态元素。以下是非常感谢您的快速回答,我按照您的建议进行了ItemsControl,效果非常好。此外,它不适用于“DelContent”,因为“路径”对于任何按钮都不再可见。我认为这是“PathDelete”填充属性的问题,因为如果我修正了他的值,它就起作用了。@Alematt,appbar\u delete中的路径没有任何填充颜色。设置例如Fill=WhiteYes,但Fill=White在“StackPanelLightButton”资源样式中给出!我不想修复“appbar_delete”中的填充,因为我将为填充添加触发器鼠标。命名样式如何:使用键对其进行贴图,并为路径添加样式={DynamicResource pathStyle}。然后正确使用,没有任何问题
<Setter Property="Content">
<Setter.Value>
<Control Template="{StaticResource PathDelete}">
<Control.Resources>
<Style TargetType="{x:Type Path}" BasedOn="{StaticResource {x:Type Path}}"/>
</Control.Resources>
</Control>
</Setter.Value>
</Setter>
<Control Template="{StaticResource PathDelete}" x:Key="DelContent" x:Shared="False">
<Control.Resources>
<Style TargetType="{x:Type Path}" BasedOn="{StaticResource {x:Type Path}}"/>
</Control.Resources>
</Control>
<Style x:Key="BtnDeleteStackPanelStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource StackPanelLightButton}" x:Shared="False">
<Setter Property="Content" Value="{StaticResource DelContent}"/>
</Style