gpt4 book ai didi

c# - WPF MVVM中加载单选按钮

转载 作者:行者123 更新时间:2023-12-03 10:37:16 26 4
gpt4 key购买 nike

我想在 WPF 应用程序中加载一个显示人员详细信息的屏幕。
我正在使用 MVVM 和 C#

我有一个加载人员详细信息的屏幕。
从列表中选择一个人,您按选择并加载该人的信息。
其中的数据是“性别”
在用户控件上,我使用单选按钮。一个是男的,一个是女的。
我想知道如何将结果绑定(bind)到单选按钮,以便您选择的人乔显示为男性。

我不想将单选按钮用于显示目的。我只是想显示那个人的性别。

它是使用单选按钮的 Content 还是 IsSelected 绑定(bind)?我知道我应该使用绑定(bind)(显然,如果我使用的是 MVVM),但我不知道在哪里。

所以这个人有姓名(字符串)和性别(字符串)。性别字段是男性或女性。如何在 Binding 中使用它来显示选中的单选按钮?

我在 ViewModel 中声明了以下内容:

 public bool GenChecked { get; set; }

我猜从那里,我会说,如果 Gender 是 Male,IsSelected Gender 是真的吗?我不清楚。这是我第一次涉足 WPF MVVM 中的单选按钮

如果这个问题不清楚,或者您想看一些代码示例,请发表评论,我会进行编辑

编辑 1

只是要清楚。如有任何误解,请见谅。
usercontrol/view 目前有两个单选按钮:
<RadioButton Content="Male" IsChecked="{Binding GenChecked}" />
<RadioButton Content="Female" IsChecked="{Binding GenChecked}" />

View 模型通过一个类获取信息,该类具有名称和性别作为字符串。类(class)的对象之一是男乔。

所以在我的 View 模型上,我有 GenChecked 的 bool 值。如果 Joe.Gender = "Male"则必须选择男性单选按钮。但我认为如果我说 GenChecked 是真的,两者都会被选中?

这就是我感到困惑的地方。单选按钮必须分组吗?绑定(bind)必须相同吗?它必须绑定(bind)到内容吗?

希望这能更清楚一些

最佳答案

假设 true 是男性,false 是女性(不,我不想开始政治讨论)你可以做这样的事情

在你的xml中

<RadioButton Content="Male" IsChecked="{Binding Gender"}/>
<RadioButton Content="Female" IsChecked="{Binding Gender, Converter={StaticResource BoolToOppositeBoolConverter}}"/>

并写一个 IValueConverter (BoolToOppositeBoolConverter) 你有这样的代码
    public object Convert1(object value, Type targetType, object parameter, CultureInfo culture)
{
var boolValue = bool.Parse(value.ToString());

return !boolValue;
}

关于c# - WPF MVVM中加载单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22504116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com