在ListView项目周围放置边框的最佳方法

时间:2014-06-12 20:11:03

标签: xaml windows-runtime windows-phone windows-phone-8.1

我有一个ListView,我想在ListView中的每个项目周围放置一个边框。 Microsoft似乎没有Border元素的系统主题。

主题边框的推荐方法是什么,因此它在Dark and Light主题上看起来很棒?

这是我的ListView

<ListView ItemsSource="{Binding Products}" Header="My Header" Margin="10,5,10,5">
                    <ListView.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="My Header" Style="{ThemeResource HeaderTextBlockStyle}" />
                        </DataTemplate>
                    </ListView.HeaderTemplate>
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <Border>
                                <StackPanel>
                                    <TextBlock Text="{Binding Name}"
                                               Style="{StaticResource TitleTextBlockStyle}" />
                                    <TextBlock Text="TextBlock 1:"
                                               Style="{StaticResource ControlHeaderTextBlockStyle}" />
                                    <TextBox Text="{Binding TextBlock1}"/>
                                    <TextBlock Text=" TextBlock 2:"
                                               Style="{ThemeResource ControlHeaderTextBlockStyle}"/>
                                    <TextBox Text="{Binding TextBlock2}"/>
                                </StackPanel>

                            </Border>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

**************编辑1 ****************

我应该这样说。我希望它能够在针对WP8.1和Windows 8.1的通用应用程序中使用,而不仅仅是手机。

2 个答案:

答案 0 :(得分:2)

你可能只想要标准的前景色,对吗? (黑暗为光,光为黑暗)。那将是PhoneContrastForegroundBrush

<Border BorderThickness="1" BorderBrush="{StaticResource PhoneContrastForegroundBrush}">

答案 1 :(得分:1)

之前的回答让我看看系统画笔,我找到了ApplicationForegroundThemeBrush,我相信它会起作用。