0

にネストされている XAML のコントロールにアクセスするにはどうすればよいGridViewColumn.CellTemplateですか? コンボ ボックスにアクセスしItemsSourceて、コード ビハインドに設定します。

コード:

<GridViewColumn Width="80">
    <GridViewColumnHeader Content="UseCLUT"/>
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Text="{Binding Path=UseCLUT}" Style="{StaticResource GridBlockStyle}"/>
                <ComboBox x:Name="combTrueFalse" SelectedItem="{Binding Path=UseCLUT}" Style="{StaticResource GridEditStyle}" />
            </Grid>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

コンボボックスにcombTrueFalseという名前を付けて、コードビハインドで参照しようとしましたが、見つかりませんでした。

4

1 に答える 1

0

問題の回避策を見つけました。

コンボ ボックスのコレクションを、コンボ ボックスの選択のコレクションを含むクラスに設定しました。

mainWindow クラスには、データ クラスの変数が含まれています。

 ItemsSource="{Binding ElementName=mainWindow, Path=data.comboxTFSmall}"

コードビハインドからではなく、コレクションを含むクラスに向けてコンボックスのアイテムを設定したと言う意味です。

 <GridViewColumn Width="80" >
                                <GridViewColumnHeader Content="UseCLUT"/>
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <Grid>
                                            <TextBlock Text="{Binding Path=UseCLUT, Mode=TwoWay}" Style="{StaticResource GridBlockStyle}"/>
                                            <ComboBox ItemsSource="{Binding ElementName=mainWindow, Path=data.comboxTFSmall}" SelectedValue="{Binding Path=UseCLUT}" Style="{StaticResource GridEditStyle}" />
                                        </Grid>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>

私の説明が誤解を招くと思われる場合は、訂正してください。

よろしく

于 2013-02-19T04:46:25.453 に答える