C# wpf-膨胀机配合内容的标题宽度?
有没有办法使C# wpf-膨胀机配合内容的标题宽度?,c#,wpf,C#,Wpf,有没有办法使扩展器的标题适合WPF中可调整大小窗口的最大宽度?看来无论我做什么,我都无法让内容扩展到最大宽度。它在扩展器的内容部分起作用 最快的方法是将表头的宽度绑定到整个扩展器的宽度 <Expander IsExpanded="True"> <Expander.Header> <Grid Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
扩展器的标题
适合WPF中可调整大小窗口的最大宽度?看来无论我做什么,我都无法让内容扩展到最大宽度。它在扩展器
的内容
部分起作用
最快的方法是将表头的宽度绑定到整个扩展器的宽度
<Expander IsExpanded="True">
<Expander.Header>
<Grid Width="{Binding RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type Expander}},
Path=ActualWidth}"
Height="50">
<Rectangle Fill="Red"></Rectangle>
</Grid>
</Expander.Header>
<Rectangle Fill="Red"></Rectangle>
</Expander>
添加处理程序以处理加载事件。它更改ContentPresenter
实例的HorizontalAlignment
属性:
private void expander_Loaded(object sender, RoutedEventArgs e)
{
var tmp = VTHelper.FindChild<ContentPresenter>(sender as Expander);
if (tmp != null)
{
tmp.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
}
}
private void expander\u加载(对象发送方,路由目标)
{
var tmp=VTHelper.FindChild(发送方作为扩展器);
如果(tmp!=null)
{
tmp.HorizontalAlignment=System.Windows.HorizontalAlignment.Stretch;
}
}
将此处理程序连接到扩展器:
<Expander IsExpanded="True" Loaded="expander_Loaded">
这种方法使用代码隐藏,但不适用于任何数据(或ViewModel)。它只改变控件的视觉外观。最快的方法是将标题的宽度绑定到整个扩展器的宽度
<Expander IsExpanded="True">
<Expander.Header>
<Grid Width="{Binding RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type Expander}},
Path=ActualWidth}"
Height="50">
<Rectangle Fill="Red"></Rectangle>
</Grid>
</Expander.Header>
<Rectangle Fill="Red"></Rectangle>
</Expander>
<Expander Name="myexpander" IsExpanded="True" Margin="0,0,1,0">
<Expander.Header>
<Grid Width="{Binding ElementName=myexpander, Path=ActualWidth}" Height="50">
<Rectangle Fill="Red"></Rectangle>
</Grid>
</Expander.Header>
<Rectangle Fill="Red"></Rectangle>
</Expander>
</Grid>
添加处理程序以处理加载事件。它更改ContentPresenter
实例的HorizontalAlignment
属性:
private void expander_Loaded(object sender, RoutedEventArgs e)
{
var tmp = VTHelper.FindChild<ContentPresenter>(sender as Expander);
if (tmp != null)
{
tmp.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
}
}
private void expander\u加载(对象发送方,路由目标)
{
var tmp=VTHelper.FindChild(发送方作为扩展器);
如果(tmp!=null)
{
tmp.HorizontalAlignment=System.Windows.HorizontalAlignment.Stretch;
}
}
将此处理程序连接到扩展器:
<Expander IsExpanded="True" Loaded="expander_Loaded">
这种方法使用代码隐藏,但不适用于任何数据(或ViewModel)。它仅更改控件的视觉外观。
<Expander Name="myexpander" IsExpanded="True" Margin="0,0,1,0">
<Expander.Header>
<Grid Width="{Binding ElementName=myexpander, Path=ActualWidth}" Height="50">
<Rectangle Fill="Red"></Rectangle>
</Grid>
</Expander.Header>
<Rectangle Fill="Red"></Rectangle>
</Expander>
</Grid>
为扩展器命名并绑定宽度属性
为扩展器命名并绑定width属性如何删除箭头?也许会help@JokerMartini查看更新后的帖子。它还显示了一种可以在不删除箭头的情况下解决问题的方法。如何删除箭头?也许会help@JokerMartini查看更新后的帖子。它显示了另外一种方法,可以在不删除箭头的情况下解决问题。