簡體   English   中英

將視圖模型綁定到內容控件/演示者

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM