gpt4 book ai didi

c# - UWP ValueConverter 返回 System._COMObject

转载 作者:可可西里 更新时间:2023-11-01 11:48:28 26 4
gpt4 key购买 nike

我正在为 UWP (Windows 10) 项目创建单元测试。我正在测试一个值转换器。这如果一切正常,转换器应该返回 ListView 控件的 SelectedItems 属性。这是转换器:

internal class MultipleSelectionChangedConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var listView = parameter as ListView;

if (listView != null)
return listView.SelectedItems;

return new ListView();
}

public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}

我正在尝试检查此单元测试中的结果:

[UITestMethod] 
[TestCategory("Multiple Selection Changed Converter")]
public void ShouldSetSelectedItems()
{
IList<object> results = null;

var listToSetSelectedItems = new ListView
{
ItemsSource = new List<string> { "item 1", "item 2", "item 3", "item 4" },
SelectionMode = ListViewSelectionMode.Multiple,
};
listToSetSelectedItems.SelectedItems.Add("item 1");
listToSetSelectedItems.SelectedItems.Add("item 2");

results = (IList<object>)converter.Convert(null, typeof(IList<object>), listToSetSelectedItems, string.Empty);

Assert.IsTrue(results != null);
Assert.IsTrue(results.Count == 2);
//Assert.IsTrue(results.Contains("item 1"));
//Assert.IsTrue(results.Contains("item 2"));
}

该变量应包含 IList 类型的 SelectedItems 属性。相反,它返回时设置了 System._COMObjects 值。此外,我收到“信息不可用,没有为 Windows.UI.Xaml.dll 加载符号”消息。我该怎么做才能获得 SelectedItems 属性的正确类型?

谢谢

最佳答案

在这部分代码中

var listView = parameter as ListView;

if (listView != null)
return listView.SelectedItems;

return new ListView();

当 ListView 不为空时,您将返回所选项目的列表。但是,当它为 null 时,您将返回一个新的 ListView 本身。你不认为返回类型应该相同吗。

关于c# - UWP ValueConverter 返回 System._COMObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37301020/

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