【问题标题】:Dynamically assign style resource动态分配样式资源
【发布时间】:2012-03-25 13:59:40
【问题描述】:

假设我有以下 DataTemplate:

<DataTemplate x:Key="ListBoxItemTemplate">

        <Grid HorizontalAlignment="Stretch" Width="440">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="50" />
                <ColumnDefinition />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="45" />
            </Grid.ColumnDefinitions>

            <Rectangle x:Name="RECTA" Grid.ColumnSpan="4" Margin="0,0,0,8" Style="{StaticResource ListItemRed}" />

            <TextBlock Margin="1,1,0,0" TextWrapping="Wrap" Text="{Binding ItemDescription}" Grid.Column="1" />

            <Button                                
                Grid.Column="2"
                x:Name="deleteItemButton"
                BorderThickness="0"                                                                  
                Margin="-1,1,-17,0"
                Click="deleteItemButton_Click" d:LayoutOverrides="HorizontalAlignment" Grid.ColumnSpan="2">

                <Image 
                    Source="AppBar/Icons/appbar.delete.rest.png"
                    Height="58"
                    Width="49"/>

            </Button>
        </Grid>
    </DataTemplate>

还有以下列表框:

<ListBox 
                    x:Name="ItemsListBox" 
                    ItemsSource="{Binding ActiveList}" 
                    Margin="8,82,8,8" Width="440" 
                    ItemTemplate="{StaticResource ListBoxItemTemplate}" />

在数据模板上有一个矩形。我需要为列表框中存在的每个项目动态分配 Style="{StaticResource ListItemRed}"。 Style="{Binding SOMETEMPLATE}" 不起作用。

【问题讨论】:

    标签: c# visual-studio windows-phone-7 expression-blend


    【解决方案1】:

    您需要的是相当于 WPF DataTemplateSelector
    这样的事情很容易重现。查看http://www.codeproject.com/Articles/92439/Silverlight-DataTemplateSelector的示例

    此外,我注意到您模板中的网格定义的列比它使用的要多。

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 2012-10-23
      相关资源
      最近更新 更多