C# Windows 通用列表视图绑定按钮到图标失败
C# Windows universal list view binding buttons to icons fails
我有以下 uwp listview
<ListView x:Name="pane_listview"
SelectionMode="Single"
ItemsSource="{x:Bind paneDataItems}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="data:PaneItems">
<Grid>
..column definations
<Button FontFamily="Segoe MDL2 Assets" //icon display fails
Content="{x:Bind icon}"
HorizontalAlignment="Left"
/>
...other controls here
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这是 ItemDataSource
private List<PaneItems> paneDataItems;
paneDataItems = PaneManager.GetPaneItems(); //called in the app initialization class
现在getall项目
public class PaneManager
{
public static List<PaneItems> GetPaneItems()
{
var items = new List<PaneItems>();
items.Add(new PaneItems("", "Dashboard", "can_view_dashboard"));
return items;
}
}
public class PaneItems
{
public string icon { get; set; }
public string item { get; set; }
public string permission { get; set; }
public PaneItems(string iconval, string itemname, string permissionname)
{
icon = iconval;
item = itemname;
permission = permissionname;
}
}
问题出在列表视图中的按钮上它不显示图标但是当我手动将列表视图中的图标设置为
<Button FontFamily="Segoe MDL2 Assets" Content="" /> //this works
可以看到在PaneManager中设置的图标与在按钮中手动设置的图标是一样的;
有什么问题吗?
尝试将 
替换为 \uE700
。
所以基本上用 \u
替换 &#x
并在最后删除 ;
,只要你想在 C# 代码隐藏中引用图标字符串。
我有以下 uwp listview
<ListView x:Name="pane_listview"
SelectionMode="Single"
ItemsSource="{x:Bind paneDataItems}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="data:PaneItems">
<Grid>
..column definations
<Button FontFamily="Segoe MDL2 Assets" //icon display fails
Content="{x:Bind icon}"
HorizontalAlignment="Left"
/>
...other controls here
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这是 ItemDataSource
private List<PaneItems> paneDataItems;
paneDataItems = PaneManager.GetPaneItems(); //called in the app initialization class
现在getall项目
public class PaneManager
{
public static List<PaneItems> GetPaneItems()
{
var items = new List<PaneItems>();
items.Add(new PaneItems("", "Dashboard", "can_view_dashboard"));
return items;
}
}
public class PaneItems
{
public string icon { get; set; }
public string item { get; set; }
public string permission { get; set; }
public PaneItems(string iconval, string itemname, string permissionname)
{
icon = iconval;
item = itemname;
permission = permissionname;
}
}
问题出在列表视图中的按钮上它不显示图标但是当我手动将列表视图中的图标设置为
<Button FontFamily="Segoe MDL2 Assets" Content="" /> //this works
可以看到在PaneManager中设置的图标与在按钮中手动设置的图标是一样的;
有什么问题吗?
尝试将 
替换为 \uE700
。
所以基本上用 \u
替换 &#x
并在最后删除 ;
,只要你想在 C# 代码隐藏中引用图标字符串。