在uwp上,我想在xaml中制作一个带有自定义图标的汉堡包菜单。从MS的午餐调度程序示例中,我尝试将viewmodel属性绑定到视图中的内容元素:
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="viewmodels:MenuItem">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{x:Bind Icon2}" />
其中Icon是
之类的属性Icon2 = Application.Current.Resources["BookIcon"],
可以工作并检索包含画布的视图
但我得到一个例外“价值不在预期范围内。”
有人知道它是否可能像WPF一样?
nb:如果我将画布直接放在contentcontrol中,它就可以了。也许绑定不接受除字符串
之外的任何其他内容答案 0 :(得分:1)
我找到了一个解决方案,将视图框转换为DataTemplate并绑定到ContentTemplate
<DataTemplate x:Key="BookIcon">
<Viewbox Width="48" Height="48">
<Canvas Width="24" Height="24">
<Path Data/>
</Canvas>
</Viewbox>
</DataTemplate>
和
<ContentControl ContentTemplate="{x:Bind Icon2}"/>
欢迎任何其他解决方案