在wpf中如何访问usercontrol中的window.resources

时间:2013-03-14 20:35:46

标签: wpf user-controls resources collectionviewsource

我有一个子usercontrol,我无法访问其父usercontrol的资源。资源是collectionViewSource,其源代码在父usercontrol的代码后面设置,源设置为LINQ to SQL的查询结果。两个用户控件都在自己的xaml文件中定义。我尝试使用DynamicResource并抱怨说它需要与DepenednecyProperty一起使用......

parent usercontrol

...
<UserControl.Resources>
    <CollectionViewSource x:Key="UsageTypeSource"/>
</UserControl.Resources>
...

child usercontrol

...
<ComboBox Height="28" HorizontalAlignment="Left" Margin="147,1,0,0" x:Name="cbxUsage"
          Grid.Column="1" Grid.Row="2" Width="186"
          SelectedItem="{Binding Path=UsageType, ValidatesOnExceptions=true, NotifyOnValidationError=true}"
          VerticalAlignment="Top" SelectedValuePath="ID"
          SelectedValue="{Binding Path=Usage}"
          ItemsSource="{Binding Source={StaticResource UsageTypeSource}}"
          DisplayMemberPath="Type"/>
...

我得到的错误是“资源”UsageTypeSource“无法解析”

您能否提供正确的方式来访问资源

提前致谢 灰

2 个答案:

答案 0 :(得分:2)

试试这个:

ItemsSource="{DynamicResource UsageTypeSource}}"/> 

答案 1 :(得分:0)

代替

<UserControl.Resources> ... </UserControl.Resources>

使用

<Control.Resources> ... </Control.Resources>