如何通过按钮单击事件传递ObjectDataProvider对象实例;使用XAML?

时间:2011-12-08 16:10:50

标签: c# wpf

我正在尝试将ObjectDataProvider定义的对象实例传递给我的按钮单击事件。我看过一些帖子建议使用按钮上的Tag属性将对象传递给click方法,但是我在click事件方法中得到一个null对象。

以下代码使用ObjectDataProvider定义对象的实例:

<Window.Resources>
    <ObjectDataProvider x:Key="ObjectTypes" ObjectType="{x:Type rvcfg:ConfigDataProvider}" MethodName="GetObjectTypes"/>
    <ObjectDataProvider x:Key="Regions" ObjectType="{x:Type rvcfg:ConfigDataProvider}" MethodName="GetRegionObjects"/>
    <ObjectDataProvider x:Key="Caches" ObjectType="{x:Type rvcfg:ConfigDataProvider}" MethodName="GetCacheObjects"/>
</Window.Resources>

以下代码定义了按钮;通过它我试图传递在ListView控件中修改的“ObjectTypes”对象。

    <Button Content="Save" Height="23" HorizontalAlignment="Left" Margin="410,293,0,0"               Name="btnSave" VerticalAlignment="Top" Width="75" Click="btnSave_Click" Tag="{Binding Source=ObjectTypes}"/>

ObjectTypes对象包含三个字符串枚举器和一个自定义ENUM。我很感激有关如何将此对象传递给我的click事件方法的任何指导。

谢谢, KBW

2 个答案:

答案 0 :(得分:0)

必须是Tag="{StaticResource ObjectTypes}"Tag="{Binding Source={StaticResource ObjectTypes}}"

答案 1 :(得分:0)

另一种方法是使用带有Command的{​​{1}},而不是带有标记的Click事件。

CommandParameter