我正在尝试将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
答案 0 :(得分:0)
必须是Tag="{StaticResource ObjectTypes}"
或Tag="{Binding Source={StaticResource ObjectTypes}}"
。
答案 1 :(得分:0)
另一种方法是使用带有Command
的{{1}},而不是带有标记的Click事件。
CommandParameter