我有一个带MVVM的WPF应用程序,它有一个看起来像这样的Ap.XAML。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/StyleDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ObjectDataProvider x:Key="SAG_POK" ObjectType="{x:Type or:SAG_POK}" />
</ResourceDictionary>
</Application.Resources>
现在,在MainWindow.XAML上,我想绑定到Ap.xaml中的SAG_POK ObjectDataprovider。
<StackPanel
DataContext="{Binding Source={StaticResource SAG_POK}}">
<TextBlock Name="ValgtSag" Text="{Binding ToStringProperty}"/>
</StackPanel>
我的问题是,在我的一个视图模型中,我使用SAG_POK实例在App.xaml中实例化SAG_POK ObjectDataProvider。
App.Current.Resources["SAG_POK"] = SagSelecteditem;
但我无法弄清楚我的OnNotifyPropertyChanged(“SAG_POK”)放在哪里我尝试过不同的场景,但似乎都没有。
之前有人试过这个吗?请提前告知我任何提示。
答案 0 :(得分:0)
你可以这样做
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/StyleDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--<ObjectDataProvider x:Key="SAG_POK" ObjectType="{x:Type or:SAG_POK}" />-->
<local:MainViewModel x:Key="SAG_POK" />
</ResourceDictionary>
</Application.Resources>
<StackPanel DataContext="{Binding Source={StaticResource SAG_POK}}">
<TextBlock Name="ValgtSag" Text="{Binding ToStringProperty}"/>
</StackPanel>
App.Current.Resources["SAG_POK"].SelectedItem = SagSelectedItem;
MainViewModel是洞穴应用程序中的主视图模型:-)
希望这会有所帮助