我想在WPF Expander Header上应用一种样式.在下面的XAML中,我有一个Expander,但它的风格不仅适用于标题.
谢谢.
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640"
>
<StackPanel>
<StackPanel.Resources>
<Style TargetType="Expander">
<Style.Resources>
<LinearGradientBrush x:Key="BackBrush" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#EF3132" Offset="0.1" />
<GradientStop Color="#D62B2B" Offset="0.9" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Background" Value="{StaticResource BackBrush}"/>
</Style>
</StackPanel.Resources>
<Expander>
<StackPanel>
<TextBlock>Bike</TextBlock>
<TextBlock>Car</TextBlock>
<TextBlock>Truck</TextBlock>
</StackPanel>
</Expander>
</StackPanel>
</Page>
Run Code Online (Sandbox Code Playgroud) Expander
WPF中的控件不会拉伸以填充所有可用空间.XAML中有任何解决方案吗?
我有一个包含DataGridView的面板和一个表单底部的3个按钮.我想添加扩展和折叠此面板的可能性.有没有办法在Windows窗体应用程序中执行此操作?
有人做过类似的事吗?
使用WPF Expander控件时,它会显示默认的"向上"和"向下"箭头键.有没有办法隐藏那些上下箭头?
更新:
我设法通过创建一个ControlTemplate删除箭头,但现在扩展能力也消失了:
<ContentPresenter Content="{TemplateBinding Expander.Header}"></ContentPresenter>
<ContentPresenter Content="{TemplateBinding Expander.Content}"></ContentPresenter>
<Expander Template="{StaticResource ExpanderControlTemplate}" IsExpanded="False" Cursor="Hand">
<Expander.Header>
<Border Style="{StaticResource FeedTitleStyle}">
<DockPanel Width="Auto">
<TextBlock DockPanel.Dock="Left" FontSize="16" Text="IronRuby in Action!" />
</DockPanel>
</Border>
</Expander.Header>
<Expander.Content>
<TextBlock Text="This is the decriprion!" />
</Expander.Content>
</Expander>
Run Code Online (Sandbox Code Playgroud) 我想要一个像可调整大小的扩展器.我的基本想法是这样的:
<Grid HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="2" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Expander Grid.Column="0" ExpandDirection="Right">
...
</Expander>
<GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
...
</Grid>
Run Code Online (Sandbox Code Playgroud)
问题是:如果我移动网格分割器并折叠扩展器,我会得到一个很大的空白区域.如何使整个列崩溃?或者是否有另一种方法可以使扩展器"可调整大小"
我有一个Expander
控件,其IsExpanded
属性绑定到mvvm模型中的bool.绑定工作正常,直到你不接触扩展器.单击扩展器中的箭头以展开后,绑定将停止工作.在模型中将bool ShowPreview设置为false不会折叠展开器.
<Expander Name="pExpander"
IsExpanded="{Binding Path=ShowPreview,Mode=OneWay}"
Header="Preview">
<TextBlock Text="{Binding Path=Message, Mode=OneWay}"></TextBlock>
</Expander>
Run Code Online (Sandbox Code Playgroud) 如何Expander
在单击标题时阻止WPF 扩展?我希望Expander
仅在单击展开按钮本身时展开或折叠.
我想这个答案与取消泡沫事件有关.如果可能的话,我想在XAML中实现解决方案,同时避免重复整个解决方案Expander
.
有4个Expander控件.当一个扩展器扩展时,我怎么能让所有其他扩展器崩溃/关闭?
我有一个WPF Datagrid,它有一个Collection View Source,上面有3个级别的分组.
我已经设置了datagrid样式以使用3个扩展器,使它看起来像这样:
Level 1 Expander
<content>
Level 2 Expander
<content>
Level 3 Expander
<content>
Run Code Online (Sandbox Code Playgroud)
2级和1级只是组的标题
我有第二个控件允许用户显示和隐藏3级项目,这些项目通过将Level 3扩展器绑定到后面对象中的布尔"IsVisible"属性来工作.
<!-- Style for groups under the top level. this is the style for how a sample is displayed -->
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<!-- The parent control that determines whether or not an item needs to be displayed. This holds all of the sub controls displayed for a sample …
Run Code Online (Sandbox Code Playgroud)