2011-04-08 147 views
0

我創建自己的自定義綁定類,並增加了一個屬性,它:WPF自定義綁定集合非依賴屬性

public BindingGroupCollection BindingGroups 
{ 
    get { return validationResultGroup; } 
    set { validationResultGroup = value; } 
} 

public class BindingGroupCollection : ObservableCollection<BindingGroup> { } 

在我的XAML中第i類中聲明的對象和集合:

<local:BindingGroup x:Key="BG1"/> 
<local:BindingGroup x:Key="BG2"/> 

<local:BindingGroupCollection x:Key="BindingGroups1"> 
    <StaticResourceExtension ResourceKey="BG1"/> 
    <StaticResourceExtension ResourceKey="BG2"/> 
</local:BindingGroupCollection> 

,我想在我的體結合,例如:

<TextBox Text="{local:CustomBinding BindingGroups={Binding Source={StaticResource BindingGroups1}}}"/> 

使用,但我得到一個錯誤的目標不是廣告永遠的對象。任何幫助?

回答

2

你不能這樣做,因爲Binding不是DependencyObject,所以它不能有依賴屬性。

然而,在你的情況,你不需要綁定,就可以直接使用了StaticResource

<TextBox Text="{local:CustomBinding BindingGroups={StaticResource BindingGroups1}}"/> 
+0

其實我已經嘗試過這一點。然而,我得到一個錯誤:「未知屬性'ValidationResultGroups'類型'MS.Internal.Markup.MarkupExtensionParser + UnknownMarkupExtension'在解析標記擴展時遇到」。 – Sys 2011-04-08 12:22:11