我有一个主窗口.xaml,其中我引用了Viewmodel和另一个名为Template.xaml的xaml页面。
Mainwindow.xaml将如下所示:
<Window ...>
<Window.Resorce ../>
<Window.DataContext>
<local:Viemodel/>
</Window.DataContext>
<Grid...
<local:Template/>
</Grid>
</Window>
这是我的Tempaltes.Xaml:
<ItemsControl HorizontalAlignment="Left" ItemsSource="{Binding Path=ControlsList}" KeyboardNavigation.IsTabStop="False">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Width="950"
Margin="28"
KeyboardNavigation.IsTabStop="False"
Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Name="Mybutton" Height="200" Background="Red" Command="{Binding Path=SupportButton}">
.....
在上面的块中,我在3个地方使用过绑定。 1.项目控制 2.按钮 3.图像 在这里,命令绑定不适用于&#34; MyButton&#34;。这背后的原因是什么?
选择特定项目后,我需要更改按钮的背景。如何实现?
答案 0 :(得分:0)
在按钮属性下,还有一个操作或操作方法的选项卡。您将要找到一个按钮点击事件。
从该操作创建事件处理程序后,您将能够更改按钮的背景或前景。
答案 1 :(得分:0)
不是10%肯定你在这里尝试实现的目标,但也许ListBox会更适合你吗?
在选择项目时,它会自动更改项目的背景,并在选择其他项目时删除背景。如果要在所选项更改时执行操作,则可以绑定到SelectedItem属性。
只是一个想法...
答案 2 :(得分:0)
很难从这个问题中看出来,但听起来好像使用ToggleButton可能适合你的情况。如果你走这条路,你可以简单地将IsChecked属性绑定到View Model,你的属性setter可以执行任何类似命令的逻辑。
当然,您可以按照自己喜欢的方式设置ToggleButton的样式,因此IsChecked状态可能与Normal状态看起来相对不同。