Xaml界面添加集合

MVVM核心思想主要是界面数据分离,有些时候只需要简单测试一下界面样式,结果要搞那一套挺麻烦的。因为不常用 老是忘记。在此简单记录一下。

主要CompositeCollection这个集合的使用。

效果图:

  <Grid>
        <Grid.Resources>
            <Style x:Key="wordPath"
                   TargetType="Path">
                <Setter Property="Width"
                        Value="48"></Setter>
                <Setter Property="Height"
                        Value="60"></Setter>
                <Setter Property="Stretch"
                        Value="Fill"></Setter>
                <Setter Property="Data"
                        Value="M909.8 229.4c2-20.6-14.1-36.7-35.1-34.7-96.9-1.6-194.1 0-291.4-0.4v-72.6h-53.7c-139.2 24.6-278.5 48.4-417.7 72.6v635.3c138.4 24.2 276.9 47.2 415.3 72.7h56.9v-72.7c90.8 0 181.6 0 272.4 0.4 15.3-0.8 32.7 0.4 46-8.9 10.5-16.1 7.7-36.7 8.9-54.9-1.6-179.2 0.4-358-1.6-536.8zM415 635.4c-15.3 7.7-37.9-0.4-55.7 0.8-12.1-60.1-26.2-119.9-36.7-180-10.5 58.5-24.6 116.6-36.7 175.2-17.4-0.8-35.1-2-52.5-3.2-15.3-79.9-32.7-159-46.8-239.3 15.3-0.8 31.1-1.2 46.8-2 9.3 57.7 19.8 115.4 28.3 173.1l38.7-178c17.4-0.8 34.3-1.6 51.7-2.8 12.1 61.4 24.6 122.3 37.5 183.6 10.5-63 21.8-125.9 32.7-188.9 18.2-0.8 36.3-1.6 54.5-2.8-21.4 87.9-39.6 176.7-61.8 264.3z m468.2 167.1H583.7v-72.7h236.1v-36.3H583.7v-45.6h236.1v-36.3H583.7V566h236.1v-36.3H583.7v-45.6h236.1v-36.3H583.7V403h236.1v-36.3H583.7v-45.2h236.1v-36.3H583.7v-63.8h299.5v581.1z m0 0"></Setter>
            </Style>
        </Grid.Resources>
        <ItemsControl Width="320"
                      Height="350">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel HorizontalAlignment="Center"
                               VerticalAlignment="Center"></WrapPanel>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Path Fill="{Binding }"
                          Margin="10,8,10,5"
                          Style="{StaticResource wordPath}">
                    </Path>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
            <ItemsControl.ItemsSource>
                <CompositeCollection>
                    <sys:String>#63cf00</sys:String>
                    <sys:String>#349706</sys:String>
                    <sys:String>#046665</sys:String>
                    <sys:String>#09399b</sys:String>
                    <sys:String>#040263</sys:String>
                    <sys:String>#640265</sys:String>

                    <sys:String>#9b0163</sys:String>
                    <sys:String>#cd0205</sys:String>
                    <sys:String>#fc3204</sys:String>
                    <sys:String>#fc6605</sys:String>
                    <sys:String>#fb9904</sys:String>
                    <sys:String>#fdfe03</sys:String>

                    <sys:String>#00FFFF</sys:String>
                    <sys:String>#000000</sys:String>
                    <sys:String>#FF00FF</sys:String>
                    <sys:String>#A020F0</sys:String>
                </CompositeCollection>
            </ItemsControl.ItemsSource>
        </ItemsControl>
    </Grid>

正常ComboBox数据源界面写死

<ComboBox Width="120"
                      HorizontalAlignment="Left"
                      Height="40">
                <ComboBoxItem>男</ComboBoxItem>
                <ComboBoxItem>女</ComboBoxItem>
                <ComboBoxItem>未知</ComboBoxItem>
            </ComboBox>

用上面替换一下如下

 <ComboBox Width="120"
                      HorizontalAlignment="Left"
                      Height="40">
                <ComboBox.ItemsSource>
                    <CompositeCollection>
                        <sys:String>男</sys:String>
                        <sys:String>女</sys:String>
                        <sys:String>未知</sys:String>
                    </CompositeCollection>
                </ComboBox.ItemsSource>
            </ComboBox>

 其他类型ItemsSource数据源就不一一列举。简单备注记录

原文地址:https://www.cnblogs.com/ColorsWin/p/14296674.html