2012-01-27 13 views
1

私は現在、私のグリッドコントロールのための次のXAMLがありますXAMLでネストされたプロパティにアクセスする方法は?

<dxg:GridControl x:Name="DXGrid"> 
    <dxg:GridControl.Columns> 
     <dxg:Column FieldName="Field 1" Width="100"/> 
     <dxg:Column FieldName="Field 2" Width="100"/> 
     <dxg:Column FieldName="Field 3" Width="100"/> 
    </dxg:GridControl.Columns> 
<dxg:GridControl> 

を私のようなユーザーコントロールにグリッドを移動したいと思います:

、最終的には、以下を達成したいと思います:

<Window> 
    <Grid> 
     <local:MyUserControl> 
     <local:MyUserControl.DXGrid.Columns> 
      <dxg:Column FieldName="Field 1" Width="100"/> 
      <dxg:Column FieldName="Field 2" Width="100"/> 
      <dxg:Column FieldName="Field 3" Width="100"/> 
     </local:MyUserControl.DXGrid.Columns> 
     </local:MyUserControl> 
    </Grid> 
</Window> 

しかし、問題は、私は添付プロパティDXGridがで見つかりませんでした」というエラーを取得するということですタイプMyUserControl "と入力します。

XAMLでDevExpress Grid(UserControl内でネストされている)とその列コレクションにアクセスするにはどうすればよいですか?

答えて

2

短い回答 - できません。少なくとも直接的ではありません。

しかし、これを回避する方法の1つは、情報をネストされたコントロールに中継するMyUserControlにパススループロパティを設定することです。

public MyUserControl() 
{ 
    InitializeComponent(); 
    Columns = DXGrid.Columns; 
} 

そして、その新しいプロパティは、現在の設定で

、あなたのXAMLは次のようになります。あなたは、内側Columnsコレクションにプロパティを設定しますあなたのコンストラクタに続いて

public static readonly DependencyProperty ColumnsProperty = 
    DependencyProperty.Register("Columns", typeof(GridColumnCollection), typeof(MyUserControl)); 

public GridColumnCollection Columns 
{ 
    get { return (GridColumnCollection)GetValue(ColumnsProperty); } 
    set { SetValue(ColumnsProperty, value); } 
} 

:だから、次のようになりますこれは:

<local:MyUserControl> 
    <local:MyUserControl.Columns> 
     <dxg:Column FieldName="Field1" Width="100"/> 
     <dxg:Column FieldName="Field2" Width="100"/> 
     <dxg:Column FieldName="Field3" Width="100"/>     
    </local:MyUserControl.Columns> 
</local:MyUserControl> 

私はDevExに精通していないので、GridColumnCollectionの名前を推測しました。あなたのDXGridのColumnsプロパティがどんなタイプであれ使用してください。

+0

これははるかに簡単な方法です。ありがとうございました!私はMSFTから回答を受け取り、あなたのものよりも複雑にしました。代わりにあなたの方法を試してみます:) ここからMSFTの回答へのリンクです: http://social.msdn.microsoft.com/Forums/en/wpf/thread/c4d82b11-bb80-4c44-bd76- cf5b8eb46eff – Maximus

関連する問題