简体   繁体   English

根据组合框项目选择显示图像

[英]Display image Based on Combobox Item Selection

How Do i Display Image in my main Window based on combobox Item Selection in another Window that is Window 1 For eaxmple Ihave This Comboboxin my Window1 如何在另一个窗口(即窗口1)中基于组合框项目选择在主窗口中显示图像我要在我的Window1中拥有此组合框

<ComboBox Height="21" HorizontalAlignment="Left" IsEditable="False" IsReadOnly="False" Margin="297,82,0,0" Name="comboBox13" VerticalAlignment="Top" Width="101" >
    <ComboBoxItem Content="ON" />
    <ComboBoxItem Content="OFF" />
</ComboBox>

and in my MainWindow 在我的MainWindow中

<Image Height="13" HorizontalAlignment="Left" Margin="284,236,0,0" Name="CB2" Source="/WpfApplication3;component/Images/blankSpacer.gif" />
<Image Height="13" HorizontalAlignment="Left" Margin="284,236,0,0" Name="CB3" Source="/WpfApplication3;component/Images/blankSpacer.gif" />

what I want is When I select Combobox item "ON" Image CB2 should be seen and when I select Combobox item "OFF" Image CB2 should be seen How do Ido that in Wpf 我想要的是当我选择组合框项目“ ON”时应该看到图像CB2,并且当我选择组合框项目“ OFF”时应该看到图像CB2怎么在Wpf中做到这一点

Try something like: 尝试类似:

CB2.IsVisible = (comboBox12.Text == "ON");
CB3.IsVisible = (comboBox12.Text == "OFF"); 

In the OnChange ComboBox event. OnChange ComboBox事件中。

Assuming you know how to properly bind, i'm thinking something like: 假设您知道如何正确绑定,我在想类似的东西:

<ComboBox Height="21" HorizontalAlignment="Left" IsEditable="False" IsReadOnly="False" Margin="297,82,0,0" Name="comboBox13" VerticalAlignment="Top" Width="101" SelectedIndex={Binding SelectedIndex, Mode=TwoWay"} >
    <ComboBoxItem Content="ON" />
    <ComboBoxItem Content="OFF" />
</ComboBox>

<Image Height="13" HorizontalAlignment="Left" Margin="284,236,0,0" Name="CB2" Source="/WpfApplication3;component/Images/blankSpacer.gif" Visibility={Binding showcb2, Mode=TwoWay"} />
<Image Height="13" HorizontalAlignment="Left" Margin="284,236,0,0" Name="CB3" Source="/WpfApplication3;component/Images/blankSpacer.gif" Visibility={Binding showcb3, Mode=TwoWay"}  />

Then in the viewmodel: 然后在viewmodel中:

public SelectedIndex{get;set;}
public Visibility showcb2
{
    get
    {
        if (SelectedIndex == 0)
        {
            return Visibility.Visible;
        }
        return Visibility.Collapsed;
    }           
}


public Visibility showcb3
{
    get
        {
        if (SelectedIndex == 0)
        {
            return Visibility.Visible;
        }
        return Visibility.Collapsed;
    }           
}

嗨,Jaime Oro,我尝试了一个您建议的A,但Ihv组合框位于一个窗口中,而图像位于另一个窗口中,因此它不值得参考

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM