Wpf 如何为DataTemplate元素设置不同的名称?
我正在制作类似TictoGame的东西,试图使用MVVM,此时我遇到了一个问题。我不明白如何(如果可能的话)为不同的DataTempalte元素设置不同的名称(“确切地说是按钮”)Wpf 如何为DataTemplate元素设置不同的名称?,wpf,mvvm,Wpf,Mvvm,我正在制作类似TictoGame的东西,试图使用MVVM,此时我遇到了一个问题。我不明白如何(如果可能的话)为不同的DataTempalte元素设置不同的名称(“确切地说是按钮”) 这是我的XAML代码。 而且,我试图在命令中把这个名字作为命令参数发送,但我总是得到“b1”的名字,因为他们都得到了这个名字,我需要他们都有不同的名字 如果可能的话,在这之后我如何将这些名称发送给命令 我将非常感谢您的帮助,请提前原谅可能出现的错误。元素名称,尤其是在模板中,没有多大帮助 <Button
这是我的XAML代码。
而且,我试图在命令中把这个名字作为命令参数发送,但我总是得到“b1”的名字,因为他们都得到了这个名字,我需要他们都有不同的名字
如果可能的话,在这之后我如何将这些名称发送给命令
我将非常感谢您的帮助,请提前原谅可能出现的错误。元素名称,尤其是在模板中,没有多大帮助
<Button Content="{Binding Content}"
Name="b1"
Style="{StaticResource ButtonsStyle}"
CommandParameter="{Binding ElementName=b1, Path=Name}">
按钮绑定到此处的某个项目。为什么不将该项作为CommandParameter发送
<Button Content="{Binding Content}"
Style="{StaticResource ButtonsStyle}"
CommandParameter="{Binding Path=.}">
然后,在视图模型中,您可以强制转换为项目类型并获得对其所有属性的访问(
内容
,等等)是的,我可以这样做,但这是否违反了MVVM,将按钮发送到视图模型?但仍然有办法为我的元素赋予不同的名称(b1、b2、b3…)@kotki,您正在视图模型中使用按钮列表
。CommandParameter将是该列表的单个元素。如果您可以接受第一部分,则第二部分相同。关于名称:我没有尝试这样做,simple attemp说名称不支持像Bindings这样的MarkupExtension。我的按钮列表实际上不是System.Windows.Controls.button list,我只是创建了自己的类并将其命名为button,我的列表包含这些按钮!
<Button Content="{Binding Content}"
Style="{StaticResource ButtonsStyle}"
CommandParameter="{Binding Path=.}">