C# 使用唯一id以编程方式创建按钮
我创建了一些按钮,首先填充一个包含C# 使用唯一id以编程方式创建按钮,c#,wpf,xaml,button,dynamic,C#,Wpf,Xaml,Button,Dynamic,我创建了一些按钮,首先填充一个包含get/set方法的类,然后在XAML中使用该信息 C# List movies=newlist(); ... ... MovieListView.ItemsSource=电影; XAML 然而问题是,我需要每个按钮都有一个唯一的id。我在别处读到,这不能在XAML中完成,但我不确定如何或在C#代码中的何处创建这些按钮。我认为这里最灵活的解决方案是定义一种行为: public class UniqueNameBehavior : Behavior<F
get/set
方法的类,然后在XAML
中使用该信息
C#
List movies=newlist();
...
...
MovieListView.ItemsSource=电影;
XAML
然而问题是,我需要每个按钮都有一个唯一的id。我在别处读到,这不能在
XAML
中完成,但我不确定如何或在C#
代码中的何处创建这些按钮。我认为这里最灵活的解决方案是定义一种行为:
public class UniqueNameBehavior : Behavior<FrameworkElement>
{
protected override void OnAttached()
{
base.OnAttached();
//assign unique name to the associated element, for example:
AssociatedObject.Name = Guid.NewGuid().ToString().Replace("-", null);
}
}
公共类UniqueNameBehavior:行为
{
受保护的覆盖无效附加()
{
base.onatached();
//为关联元素指定唯一名称,例如:
AssociatedObject.Name=Guid.NewGuid().ToString().Replace(“-”,null);
}
}
在XAML中,将此行为附加到任何元素:
<Button>
<i:Interaction.Behaviors>
<local:UniqueNameBehavior/>
</i:Interaction.Behaviors>
</Button>
其中
xmlns:i=”http://schemas.microsoft.com/expression/2010/interactivity“
来自System.Windows.Interactivity
assembly.感谢您的帮助Grx70!
public class UniqueNameBehavior : Behavior<FrameworkElement>
{
protected override void OnAttached()
{
base.OnAttached();
//assign unique name to the associated element, for example:
AssociatedObject.Name = Guid.NewGuid().ToString().Replace("-", null);
}
}
<Button>
<i:Interaction.Behaviors>
<local:UniqueNameBehavior/>
</i:Interaction.Behaviors>
</Button>