如何使用relaycommand mvvm在silverlight中的datagrid内的按钮中使用触发器事件

时间:2012-07-27 09:57:31

标签: silverlight-4.0 datagrid

如何使用relaycommand mvvm在silverlight中的数据网格内的按钮中使用触发事件

Iam无法将选定的值输入到某个Dto中,这意味着一旦我选择了一行进行删除,所选的项属性显示为NULL。如何解决它pls

1 个答案:

答案 0 :(得分:0)

您可以在datagrid中使用如下所示的触发事件:

 <Button Content="Message"  Height="23" HorizontalAlignment="Left" Margin="234,116,0,0" Name="btnMsg" VerticalAlignment="Top" Width="75" >

        <i:Interaction.Triggers>
            <i:EventTrigger EventName="Click">                    
                <si:CallDataMethod Method="HandleShowMessage"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </Button>

您必须为此添加必要的参考。

对于selecteditem,您必须将所选项目设置为datagrid以及您必须在viewmodel中对属性进行十分转换的其他内容:

在Xaml中:

 <sdk:DataGrid  Height="Auto" AutoGenerateColumns="False" ItemsSource="{Binding Emp}" SelectedItem="{Binding SelectedEMp,Mode=TwoWay}"  BorderThickness="1"  HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="auto">

并在Viewmodel中:

  private EmpInfo _selectedEMp;
    public EmpInfo SelectedEMp
    {
        get { return _selectedEMp; }
        set
        {
            _selectedEMp = value;
            on("SelectedEMp");
        }
    }

由于