zoukankan      html  css  js  c++  java
  • WPF ListBoxItem DataTempldate command 执行问题

    今天用到MVVM,在listboxItem中做command处理。因为是要获取数据,修改ListBox模板,但是发现command无法正确执行,写在Item中可以正确执行。

    网上也遇到类似问题,但是没有对应的解决办法。最后由@WaitingEver 给予解决。

    主要用到RelativeSource,RelativeSource属性可以根据相对于目标的关系指向源对象。通常用于目标对象和源对象不在同一个标记块中,当创建控件模板和数据模板会出现这种情况。用到RelativeSource访问顶级ListBox控件去读取相应的属性。

    出错代码:

    <ListBox.ItemTemplate>
             <DataTemplate>
                    <Image Margin="5" Source="{Binding}" Width="140" Height="90" Stretch="Fill">
                         <i:Interaction.Triggers>
                               <i:EventTrigger EventName="MouseEnter"> 
                      <i:InvokeCommandAction Command="{Binding ChangeBackGround}" CommandParameter="" /> 
                    </i:EventTrigger>
                </i:Interaction.Triggers>
              </Image>
          </DataTemplate>
    </ListBox.ItemTemplate>

    修正后代码:

    <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <Image Margin="5" Source="{Binding}" Width="140" Height="90" Stretch="Fill">
                                        <i:Interaction.Triggers>
                                            <i:EventTrigger EventName="MouseEnter">
                                                <i:InvokeCommandAction Command="{Binding Path=DataContext.ChangeBackGround,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="" />
                                            </i:EventTrigger>
                                        </i:Interaction.Triggers>
                                    </Image>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
  • 相关阅读:
    POJ1185:炮兵阵地(状压dp)
    POJ3254:Corn Fields(状压dp第一发)
    二进制x&(x-1);
    子集和问题(应用--换零钱)POJ2229:Sumsets
    JAVA math包
    UVA+POJ中大数实现的题目,持续更新(JAVA实现)
    HDU中大数实现的题目,持续更新(JAVA实现)
    SDUT中大数实现的题目,持续更新(JAVA实现)
    JAVA与ACM
    HDU3123:GCC(同余模简单题)
  • 原文地址:https://www.cnblogs.com/xcong/p/3428595.html
Copyright © 2011-2022 走看看