2017-10-24 6 views
-3

コードビハインド(C#)では次のことが可能ですか?私はコードビハインドでBorderBrushをバインドする(境界要素がDataGridセル内部の子であり、この境界線の色は、DataGridの垂直グリッド線の色に指定した色と一致する必要があります)コードビハインドのBorderBrushのバインド

<Border BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=DataGrid}, Path=VerticalGridLinesBrush}" BorderThickness="0 0 1 0" Grid.Column="0"> 
    <TextBlock Name="tbMyBlock" Text="My Text Block" /> 
</Border> 

ありがとう!代わりに、私の境界線オブジェクト上のSetBindingコールと結合することの

+0

は、なぜあなたは、あなたが背後にあるコードでこれを行う必要があると思いますか?とにかくコードの中にバインディングを作成するのは難しいことではありません。スタックオーバーフローに関する多くの例があります。 –

+0

なぜプログラムでバインディングを作成したいですか? – mm8

+0

@ mm8、DataGridの列を動的に生成する必要があるため、コードビハインドでバインディングを作成する必要があります。ヘッダーと値はオブジェクトのコレクションから取得します.ViewModelを介してDataContextの一部をEF –

答えて

-1

、私は直接プロパティを設定しています:

border.SetValue(Border.BorderBrushProperty, MyDataGrid.HorizontalGridLinesBrush); 
+0

「border.BorderBrush = MyDataGrid.Horizo​​ntalGridLinesBrush;」と書いてください。 – Clemens

+0

@クレメンス、良い点、あなたの答えはより簡潔です –