私はwidth="*"
のDataGridTextColum
でDataGrid
を持っていると私は、このDataGridTextColumn
のDataGridTextColumn.Header
の幅を設定したいのですが親の幅(DataGridTextColumn
)に設定します。 WPF DataGridTextColumHeaderTemplateバインド幅は、「*」
RelativeSource
が正しく定義されていないよしかし、だから私の質問は、どのように私は
DataGridTextColumn.ActualWidth
にバインドする
DataGridTextColumn
の
HeaderTemplate
内
Width
に
Binding
を定義しますか?下のコード!
<DataGridTextColumn Width="*" Binding="{Binding Username}" CanUserReorder="False" CanUserSort="False" x:Name="DataGridTextColumn">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Background="Red" MouseLeftButtonDown="EventSetter_OnHandler" Width="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType=DataGridTextColumn},Path=ActualWidth, UpdateSourceTrigger=PropertyChanged}">
<Label>Username</Label>
</StackPanel>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
私はのElementNameに結合ソースを変更した場合は、すべてが期待どおりに正常に動作しますが、私は私がしなければならないという命名の量を減らすためにRelativeSourceを使用したいと思います。
ありがとうございます!