2011-12-08 71 views
0

我想將ObjectDataProvider定義的對象實例傳遞給我的按鈕單擊事件。我見過一些帖子,建議使用按鈕上的Tag屬性將對象傳遞給click方法,但是我在click事件方法中獲得了一個空對象。如何通過按鈕單擊事件傳遞ObjectDataProvider對象實例;使用XAML?

下面的代碼使用的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

這不是兩個不同的情況嗎? – 2012-08-14 09:09:32

回答

0

它需要Tag="{StaticResource ObjectTypes}"Tag="{Binding Source={StaticResource ObjectTypes}}"

0

另一種方法是將CommandCommandParameter一起使用,而不是將Click事件與標籤一起使用。

<Button Command="Built_In_Or_Custom_Command" CommandParameter="{StaticResource ObjectTypes}" /> 
相關問題