0

DataGrid Template 列の実行可能性を、データグリッドのデータコンテキストである監視可能なコレクションにバインドする方法を見つけようとしています。注: 私はこのような初心者ですが、おそらく 10 歳のように説明する必要があります.

これがこのスタックオーバーフローに関連していることは知っていますが、まだうまくいかないようです。

コンバーターにブレークポイントがありますが、監視可能なコレクションにデータが追加されたときにヒットすることはありません...

これが理にかなっているといいのですが...どうもありがとう

                    <DataGrid AutoGenerateColumns="False" AlternatingRowBackground="LightBlue" ItemsSource="{Binding historyColl}" Margin="0,75,6,26" Name="historyDataGrid" FontSize="12" HorizontalAlignment="Right" Width="381">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Header="Date (dd-mm)" Width="80*">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Date}" Background="{Binding Converter={StaticResource TradedBackground}}"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

                        <DataGridTemplateColumn Header="Test" Width="50" Visibility="{Binding RelativeSource={x:Static RelativeSource.Self}, 
                                Path=FrameworkElement.DataContext, Converter={StaticResource booleanToVisiblityConverter}}">
                           <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Test}"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

                    </DataGrid.Columns>
                </DataGrid>
4

1 に答える 1

0

質問の下のディスカッションに参加しますが、そうするのに十分なポイントがありません。それが問題だと確信してPath=FrameworkElement.DataContextいます。コンバーターはブール値を想定していますが、代わりに DataContext を取得します。

boolコンバーターを使用して、可視性をバインドできる DataContext 自体内の型のプロパティが必要です。

ウィンドウリソースでコンバーターを定義することは問題ありません。

于 2012-09-18T12:40:10.037 に答える