gpt4 book ai didi

winrt-xaml - 带有 2 行文本的 Windows Phone 8.1 AppBarButton 图标

转载 作者:行者123 更新时间:2023-12-03 11:16:59 24 4
gpt4 key购买 nike

我想知道如何使 AppBarButton 图标具有 2 行文本。我想让它像在 Windows 日历中一样:

image

最佳答案

AppBarButton 不在其图标中显示文本或任意 Xaml。它需要是来自字体、位图或路径的符号。对于这样的日历显示,最好使用位图。

由于您可能不想预生成 366 图标,您可以使用 RenderTargetBitmap 即时创建它们。假设“ButtonImageMaster”是一个包含日期和月份的 Xaml 片段,而 calendarButton 是 AppBarButton:

RenderTargetBitmap rtb = new RenderTargetBitmap();
await rtb.RenderAsync(ButtonImageMaster);
IBuffer pixelBuffer = await rtb.GetPixelsAsync();
string fileName = "calIcon.png";
StorageFile calIconFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(fileName,CreationCollisionOption.ReplaceExisting);
using (IRandomAccessStream stream = await calIconFile.OpenAsync(FileAccessMode.ReadWrite))
{
BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream);
encoder.SetPixelData(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Straight,
(uint)rtb.PixelWidth,
(uint)rtb.PixelHeight,
DisplayInformation.GetForCurrentView().LogicalDpi,
DisplayInformation.GetForCurrentView().LogicalDpi,
pixelBuffer.ToArray());

await encoder.FlushAsync();
}

BitmapIcon icon = new BitmapIcon();
icon.UriSource = new Uri("ms-appdata:///temp/"+fileName);
calendarButton.Icon = icon;

关于winrt-xaml - 带有 2 行文本的 Windows Phone 8.1 AppBarButton 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26175156/

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