代码之家  ›  专栏  ›  技术社区  ›  Alex F

WPF数据绑定

  •  1
  • Alex F  · 技术社区  · 14 年前

    考虑以下XAML代码:

        <StackPanel>
            <ListBox x:Name="lbColor">
                <ListBoxItem Content="Blue"/>
                <ListBoxItem Content="Green"/>
                <ListBoxItem Content="Yellow"/>
            </ListBox>
            <TextBlock>
                <TextBlock.Text>
                    <Binding ElementName="lbColor" Path="SelectedItem.Content"/>
                </TextBlock.Text>
                <TextBlock.Background>
                    <Binding ElementName="lbColor" Path="SelectedItem.Content"/>
                </TextBlock.Background>
            </TextBlock>
        </StackPanel>
    

    我了解文本属性绑定的工作原理。在内部,它被转换为:

    textBlock.Text = lbColor.SelectedItem.Content;
    

    但是背景如何绑定到同一个源呢?此代码:

    textBlock.Background = lbColor.SelectedItem.Content;
    

    是不正确的。它如何工作?顺便说一句,它工作并显示正确的背景色。

    我看到的唯一方法是获取具有给定名称的System.Windows.Media.Colors属性,从中创建solidColorBrush并分配给background属性。但是代码中没有指向这条路径的内容。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Steve Greatrex    14 年前

    String Brush Background

    Brush TypeConverter BrushConverter

    this article