0

コンボ ボックスのフォント ファミリを別のコンボ ボックスのフォント ファミリにバインドしようとしています。プルしようとしているコンボ ボックス内にデータ テンプレートを配置するまで、正常に動作します。以下のコードを参照してください。

<Window Height="350" x:Class="MainWindow" Width="525" FontFamily="Palatino Linotype" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <StackPanel Grid.Column="1" Name="ComboBoxStackPanel" Margin="6" VerticalAlignment="Top">
        <ComboBox FontFamily="Wingdings" Name="SS0">
            <ComboBox.ItemTemplate>
                <DataTemplate x:Name="SSD">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition SharedSizeGroup="Row" Height="Auto"/>
                        </Grid.RowDefinitions>
                        <TextBlock Name="SS1" FontSize="14" Text="{Binding}" FontFamily="Wingdings"/>
                    </Grid>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
        <ComboBox FontFamily="{Binding FontFamily, ElementName=SS1}" SelectedIndex="1">
            Test
            <ComboBoxItem FontStyle="Normal" FontWeight="Normal">Regular</ComboBoxItem>
            <ComboBoxItem FontStyle="Italic" FontWeight="Normal">Italic</ComboBoxItem>
            <ComboBoxItem FontStyle="Normal" FontWeight="Bold">Bold</ComboBoxItem>
            <ComboBoxItem FontStyle="Italic" FontWeight="Bold">Bold Italic</ComboBoxItem>
        </ComboBox>
    </StackPanel>
</Window>

SS0 には問題なくアクセスできますが、SS1 にアクセスしようとすると失敗します。RelativeSource を使用してみましたが、このコンテキストでの使用方法がわかりません。

4

1 に答える 1

0

DataTemplateVisualTreeプロパティがあり、これを使用して内容を調べることができますが、テンプレートが適用されるまで内容は存在しません。

于 2012-04-27T08:21:17.777 に答える