gpt4 book ai didi

c# - 搜索框中的结果建议未显示图片

转载 作者:太空狗 更新时间:2023-10-29 21:39:42 24 4
gpt4 key购买 nike

我正在尝试使用 Windows 8.1 中引入的 SearchBox 控件,但我不知道如何在结果建议中显示图像。建议出现,但图像应留空的空间:

enter image description here

这是我的 XAML:

<SearchBox SuggestionsRequested="SearchBox_SuggestionsRequested" />

还有我的代码:

    private async void SearchBox_SuggestionsRequested(SearchBox sender, SearchBoxSuggestionsRequestedEventArgs args)
{
var deferral = args.Request.GetDeferral();
try
{
var imageUri = new Uri("ms-appx:///test.png");
var imageRef = await StorageFile.GetFileFromApplicationUriAsync(imageUri);
args.Request.SearchSuggestionCollection.AppendQuerySuggestion("test");
args.Request.SearchSuggestionCollection.AppendSearchSeparator("Foo Bar");
args.Request.SearchSuggestionCollection.AppendResultSuggestion("foo", "Details", "foo", imageRef, "Result");
args.Request.SearchSuggestionCollection.AppendResultSuggestion("bar", "Details", "bar", imageRef, "Result");
args.Request.SearchSuggestionCollection.AppendResultSuggestion("baz", "Details", "baz", imageRef, "Result");
}
finally
{
deferral.Complete();
}
}

我错过了什么吗?


一些额外的细节:

我尝试使用 XAML Spy 对其进行调试;每个建议 ListViewItem 都将其 Content 设置为 Windows.ApplicationModel.Search.Core.SearchSuggestion 的一个实例。在这些 SearchSuggestion 对象上,我注意到 TextTagDetailTextImageAlternateText 属性设置为正确的值,但 Image 属性为空...


编辑:显然 AppendResultSuggestion 只接受 RandomAccessStreamReference 的一个实例,而不是 IRandomAccessStreamReference 的任何其他实现。我认为这是一个错误,因为它与方法签名所传达的内容不一致。我 filed it on Connect ,如果你想修复它,请投票支持它!

最佳答案

AppendResultSuggestion 的签名调用了一个IRandomAccessStreamReference:

public void AppendResultSuggestion(
string text, string detailText, string tag,
IRandomAccessStreamReference image,
string imageAlternateText)

如果你已经有一个StorageFile(你有),你可以使用CreateFromFile来获取它。 :

RandomAccessStreamReference.CreateFromFile(IStorageFile file)

但是由于您是从 URI 开始的,所以您也可以跳过额外的步骤并使用 CreateFromUri :

RandomAccessStreamReference.CreateFromUri(Uri uri)

所以你会有这样的东西:

var imageUri = new Uri("ms-appx:///test.png");
var imageRef = RandomAccessStreamReference.CreateFromUri(imageUri);
args.Request.SearchSuggestionCollection.AppendResultSuggestion("foo", "Details", "foo", imageRef, "Result")

关于c# - 搜索框中的结果建议未显示图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769689/

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