XAML 在WinUI-3 Facing问题中(显示错误“System.Runtime.InteropServices.COMException:'灾难性故障(0x 8000 FFFF(E_UNEXPECTED))'“)

weylhg0b  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(197)

我正在做winui3项目。当我尝试在ComboBox中添加项目时,遇到了这个问题。
我有一个组合框,它是可编辑的,当我在组合框输入面板中输入值时,我想显示在组合框列表中,但在那里遇到了一些问题。

    • 这是我的xaml文件的代码。**
<ComboBox 
    IsEditable="True"
    x:Name="userList"
    ItemsSource="{x:Bind UserViewModel.Users,Mode=TwoWay}"
    KeyUp="AddUsers"
    SelectedValue="{x:Bind SelectedValue,Mode=TwoWay}" />
    • 这是文件xaml.cs背后的代码**
private void AddUsers(object sender, Microsoft.UI.Xaml.Input.KeyRoutedEventArgs e)
{
    try
    {
        if (e.Key == VirtualKey.Enter)
        {
            ComboBox cmb = (ComboBox)sender;
            string enteredValue = cmb.Text;
            if (!string.IsNullOrEmpty(enteredValue))
            {
                userList.Items.Add(enteredValue); // In this Line exception occurring
                userList.Text = string.Empty;
            }
        }
    }

我正在这样做,但我面临的问题是,当错误发生时,即,

qzlgjiam

qzlgjiam1#

您需要将项目添加到绑定源:

private void AddUsers(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == VirtualKey.Enter)
    {
        ComboBox cmb = (ComboBox)sender;
        string enteredValue = cmb.Text;
        if (!string.IsNullOrEmpty(enteredValue))
        {
            UserViewModel.Users.Add(enteredValue);
            userList.Text = string.Empty;
        }
    }
}

相关问题