第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF MVVM 綁定 Windows 頁面中不同用戶控件的列表

WPF MVVM 綁定 Windows 頁面中不同用戶控件的列表

C#
紫衣仙女 2021-10-24 19:38:52
我正在使用 MVVM 結(jié)構(gòu)在我的應(yīng)用程序中實現(xiàn)用戶控件。如何在單個頁面中綁定不同的用戶控件并顯示在窗口屏幕中。如下圖。我想要和圖片中的一樣。視圖模型代碼public RelayCommand OpenWidgetList => new RelayCommand(() =>    {                   ControlList = new List<UserControl>();            ControlList.Add(ObjColumn1L);            ControlList.Add(ObjColumn1L);            ControlList.Add(ObjColumn1M);            ControlList.Add(ObjColumn1S);            ControlList.Add(ObjColumn1XL);            ControlList.Add(ObjColumn1XXL);            ControlList.Add(ObjColumn2L);            ControlList.Add(ObjColumn2M);            ControlList.Add(ObjColumn2S);            ControlList.Add(ObjColumn2XL);            ControlList.Add(ObjColumn2XXL);            ControlList.Add(ObjColumn3L);            ControlList.Add(ObjColumn3M);            ControlList.Add(ObjColumn3S);            ControlList.Add(ObjColumn4M);            ControlList.Add(ObjColumn4S);    }, true);XAML 代碼    <UniformGrid Name="widgetData" Background="Black" VerticalAlignment="Top" Height="691" Margin="0,50,0,0">        <UniformGrid Columns="3">            <UniformGrid Rows="6">                <UniformGrid>                    <ItemsControl ItemsSource="{Binding ControlList}" Name="UserControlColumn" Margin="4,0" >                        <ItemsControl.ItemsPanel>                            <ItemsPanelTemplate>                                <WrapPanel HorizontalAlignment="Left" />                            </ItemsPanelTemplate>                        </ItemsControl.ItemsPanel>                        <ItemsControl.ItemTemplate>                            <DataTemplate>                                <controls:UserControlColumn HorizontalAlignment="Left" Margin="2" />                            </DataTemplate>                        </ItemsControl.ItemTemplate>                    </ItemsControl>                </UniformGrid>            </UniformGrid>        </UniformGrid>    </UniformGrid></Grid>
查看完整描述

2 回答

?
繁華開滿天機

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊

是的,我找到了答案。通過編碼,我嘗試了很多,但無法做到這一點,但以我在 XAML 方面所做的簡單方式。只需復(fù)制代碼并將每個用戶控件分別綁定到 DataCollection 變量中來自后端的一個數(shù)據(jù)。無需從后端代碼綁定每個用戶控件。下面是我的 WPF 文件的 XAML 代碼。為每個用戶控件反復(fù)完成以綁定在表單中。


<UniformGrid Rows="1">

    <ItemsControl ItemsSource="{Binding DataCollection}" Name="UserControlColumn1" Margin="4,0">

        <ItemsControl.ItemsPanel>

            <ItemsPanelTemplate>

                <WrapPanel HorizontalAlignment="Left" />

            </ItemsPanelTemplate>

        </ItemsControl.ItemsPanel>

        <ItemsControl.ItemTemplate>

            <DataTemplate>

                <controls:UserControlColumn1 HorizontalAlignment="Left" Margin="2" />

            </DataTemplate>

        </ItemsControl.ItemTemplate>

    </ItemsControl>

</UniformGrid>


<UniformGrid Rows="1">

    <ItemsControl ItemsSource="{Binding DataCollection}" Name="UserControlColumn2" Margin="4,0">

        <ItemsControl.ItemsPanel>

            <ItemsPanelTemplate>

                <WrapPanel HorizontalAlignment="Left" />

            </ItemsPanelTemplate>

        </ItemsControl.ItemsPanel>

        <ItemsControl.ItemTemplate>

            <DataTemplate>

                <controls:UserControlColumn2 HorizontalAlignment="Left" Margin="2" />

            </DataTemplate>

        </ItemsControl.ItemTemplate>

    </ItemsControl>

</UniformGrid>


<!--Same for other user Controls as above two...-->


查看完整回答
反對 回復(fù) 2021-10-24
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊

每個用戶控件都有自己的數(shù)據(jù)上下文,因此在主視圖模型中為每個用戶控件視圖模型添加一個屬性,然后綁定它。像這樣的東西:


UserControl1ViewModel

{

    ....

}


MainViewModel

{

    UserControl1ViewModel UserControl1ViewModel {get; private set;}

}


查看完整回答
反對 回復(fù) 2021-10-24
  • 2 回答
  • 0 關(guān)注
  • 341 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號