2
我有一個包含GridView的WPF ListView。我希望選定的行看起來「平坦」而不是3D風格。ListView與GridView選定的行 - 刪除3D外觀
劑量任何人都知道如何做到這一點? 謝謝, Smadar
我有一個包含GridView的WPF ListView。我希望選定的行看起來「平坦」而不是3D風格。ListView與GridView選定的行 - 刪除3D外觀
劑量任何人都知道如何做到這一點? 謝謝, Smadar
3D外觀是默認樣式的一部分。要更改此設置,您需要更換ControlTemplate
的ListViewItem
。這裏是產生以下一個簡單的例子:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="A"/>
</GridView>
</ListView.View>
<ListView.Items>
<ListViewItem Content="Item 1"/>
<ListViewItem Content="Item 2"/>
<ListViewItem Content="Item 3"/>
</ListView.Items>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border CornerRadius="2" SnapsToDevicePixels="True"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<Border Name="InnerBorder" CornerRadius="1" BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="11" />
<RowDefinition />
</Grid.RowDefinitions>
<Rectangle Name="UpperHighlight" Visibility="Collapsed" Fill="#75FFFFFF" />
<GridViewRowPresenter Grid.RowSpan="2"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Grid>
</Border>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="LightBlue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>
</Window>
注意:默認模板這裏http://msdn.microsoft.com/en-us/library/ms788747.aspx所在。由於沒有辦法改變ControlTemplate
的一部分或者基於現有模板的一部分,我通常儘量保留儘可能多的默認模板,並且只更改我關心的部分。這有點冗長,但應該做你想要的。
是WPF還是Windows 8現代應用程序? GridView/ListView在WPF中不存在(但在GridView中存在) – Tilak
你是什麼意思GridView/ListView在WPF中不存在? http://msdn.microsoft.com/en-us/library/system.windows.controls.listview.aspx – zmb