WPF Combox and IvalueConverter

我對WPF比較陌生,一直在嘗試一些小測試來提高我的知識。我目前正在嘗試使用組合框選擇一個項目,并根據選擇,使用IValueConverter更改主窗體背景的顏色,如下所示:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if(value != null)
        {
            if (value.ToString() == "Male")
            {
                return new SolidColorBrush(Color.FromArgb(255, 27, 161, 226));
            }
            else
            {
                return new SolidColorBrush(Color.FromArgb(255, 216, 0, 115));
            }
        }
        return null;
    }

我的問題是該值返回“System.Windows.Controls.ComboBoxItem:Female“或System.Windows.Controls.ComboBoxItem:Male。實施這種比較的正確方法是什么?

我的完整主窗口Xaml是:

<Window x:Class="MVVM.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:MVVM"
    xmlns:m="clr-namespace:MVVM.Models"
    xmlns:vm="clr-namespace:MVVM.ViewModels"
    xmlns:converters="clr-namespace:MVVM.ViewModels.Converters"
    mc:Ignorable="d"
    Title="MainWindow" Height="450" Width="800">
<Window.Resources>
    <m:Person x:Key="person"/>
    <converters:BackgroundConverter x:Key="converter"/>
    <vm:ViewModelBase x:Key="viewModel"/>
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource person}}"
      Background="{Binding Gender, Converter={StaticResource converter}}">
    <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
        <TextBox Text="{Binding Name, Mode=TwoWay}"/>
        <TextBox Text="{Binding LastName, Mode=TwoWay}"/>
        <TextBlock Text="{Binding FullName}" FontSize="20"/>
        <ComboBox SelectedValue="{Binding Gender, Mode=TwoWay}">
            <ComboBoxItem>Male</ComboBoxItem>
            <ComboBoxItem>Female</ComboBoxItem>
        </ComboBox>
        <Button Content="Simple Command" Command="{Binding SimpleCommand, Source={StaticResource viewModel}}"/>
    </StackPanel>
</Grid>

謝謝你的幫助。

? 最佳回答:

您可以將字符串添加到組合框中。ComboBoxItems將在后臺創建:

<ComboBox SelectedValue="{Binding Gender, Mode=TwoWay}">
    <sys:String>Male</sys:String>
    <sys:String>Female</sys:String>
</ComboBox>

其中sys在命名空間聲明中:

xmlns:sys="clr-namespace:System;assembly=mscorlib"
主站蜘蛛池模板: 精品欧美一区二区在线观看| 精品永久久福利一区二区| 精品人妻一区二区三区四区在线| 久久国产香蕉一区精品| 天堂一区二区三区精品| 亚洲一区综合在线播放| 精品福利一区二区三区| 国产在线精品观看一区| 久久精品免费一区二区喷潮| 无码人妻品一区二区三区精99 | 国产精品美女一区二区三区| 日韩人妻无码一区二区三区 | 精品国产一区二区三区久久狼 | 国产伦精品一区二区三区免费迷| 久久人妻内射无码一区三区| 大屁股熟女一区二区三区| 色一情一乱一伦一区二区三区日本 | 久久精品免费一区二区三区| 一区三区三区不卡| 国产产一区二区三区久久毛片国语| 99久久精品日本一区二区免费| 人妻少妇久久中文字幕一区二区| 日本不卡一区二区视频a| 国产在线一区二区综合免费视频| 久久精品无码一区二区三区日韩| 日韩精品一区二区午夜成人版 | 国产乱码精品一区二区三区四川人 | 亚洲欧洲日韩国产一区二区三区| 一区二区三区观看免费中文视频在线播放 | 中文字幕日韩欧美一区二区三区| 2018高清国产一区二区三区| 伊人久久一区二区三区无码 | 无码人妻一区二区三区在线水卜樱 | 亚洲一区二区三区丝袜| 亚洲AV乱码一区二区三区林ゆな| 欧美日韩精品一区二区在线视频 | 日韩在线一区高清在线| 青娱乐国产官网极品一区| 福利一区福利二区| 国产一区二区女内射| 久久久久人妻一区精品色|