【问题标题】:WPF Image Visibility Binding in XAMLXAML 中的 WPF 图像可见性绑定
【发布时间】:2013-12-09 22:13:42
【问题描述】:

我在将图像绑定到 Radiobuttion 时遇到了一点问题。我只想通过 XAML 绑定它,我所做的就是这样。我创建了一个 Stackpanel,里面有 5 个单选按钮。

    <StackPanel Name="StackPanel1" Grid.Row="3" Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center">
        <RadioButton GroupName="Group1" Content="1" 
                HorizontalAlignment="Left" 
                Width="35" BorderThickness="1,0,0,1"
                IsChecked="CodeBehindBinding..." />
        <RadioButton GroupName="Group1" Content="2" 
                HorizontalAlignment="Left" VerticalAlignment="Top" 
                Width="35" BorderThickness="1,0,0,1"
                IsChecked="{CodeBehindBinding..." />
    ......

在 XAML 的其他地方,我尝试将标签绑定到组。在一起。。

    <Image Grid.Row="3" Grid.Column="2" HorizontalAlignment="Left" Height="25" VerticalAlignment="Top" Width="25" Source="/*****;component/Resources/Checked.png" 
           Visibility="{Binding IsChecked, BindingGroupName=StackPanel1.Group1}"
           />

...什么也没有发生。 ;-) 图片是永久可见的。

我该如何解决?希望你能帮助.. 格利茨壹岐

【问题讨论】:

    标签: wpf xaml binding


    【解决方案1】:

    我假设“IsChecked”属性是布尔值。 要绑定Visibility 属性,您必须绑定到可见性类型属性或使用转换器。

    如果您不想使用转换器,则需要声明可见性通知属性:

        private Visibility isChecked= Visibility.Visible;
        public Visibility IsChecked
        {
            get { return isChecked; }
            set
            {
                isChecked = value;
                RaisePropertyChanged("IsChecked");
            }
        }
    

    如果您想保留布尔参数,请使用 Visibility converter

    【讨论】:

      【解决方案2】:

      这里有两个问题。首先,您需要为要用作绑定源的 RadioButton 分配一个 Name,并将其用于绑定的 ElementName 属性。

      <RadioButton x:Name="radioButton1" ... />
      

      那么你的绑定还需要一个从boolVisibility 的转换器。你可以使用 WPF 的BooleanToVisibilityConverter:

      <Window.Resources>
          <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
      </Window.Resources>radia
      
      <Image Visibility="{Binding IsChecked, ElementName=radioButton1,
                          Converter={StaticResource BooleanToVisibilityConverter}}" ... />
      

      【讨论】:

      猜你喜欢
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2018-07-28
      相关资源
      最近更新 更多