Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过按钮单击事件传递ObjectDataProvider对象实例;使用XAML?_C#_Wpf - Fatal编程技术网

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

C# 如何通过按钮单击事件传递ObjectDataProvider对象实例;使用XAML?,c#,wpf,C#,Wpf,我正在尝试将ObjectDataProvider定义的对象实例传递给我的按钮单击事件。我看到一些帖子建议使用按钮上的Tag属性将对象传递给click方法,但是我在click事件方法中得到一个null对象 以下代码使用ObjectDataProvider定义对象的实例: <Window.Resources> <ObjectDataProvider x:Key="ObjectTypes" ObjectType="{x:Type rvcfg:ConfigDataProvide

我正在尝试将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对象包含三个字符串枚举数和一个自定义枚举。对于如何将此对象传递给click event方法,如有任何指导,我将不胜感激

谢谢,
KBW

它需要是
Tag=“{StaticResource ObjectTypes}”
Tag=“{Binding Source={StaticResource ObjectTypes}}”
另一种方法是使用带有
命令参数的
命令,而不是带有标记的单击事件

<Button Command="Built_In_Or_Custom_Command" CommandParameter="{StaticResource ObjectTypes}" />

这不是两种不同的情况吗?