[英]Bind view model to content control/presenter
在 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 中一樣??
注意:如果我將畫布直接放在 contentcontrol 中,它就可以工作。 也許綁定不接受字符串以外的任何東西
我找到了一個解決方案,將 viewbox 轉換為 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}"/>
歡迎任何其他解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.