我目前正在创建自己的文本框控件,除了文本外,它还显示一个小图标。此图标作为ViewBox
和一些Path
保存在资源中。
目前,模板看起来如下(相关部分):
<Border x:Name="Border" BorderThickness="1"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<DockPanel>
<ContentPresenter Content="{TemplateBinding ImageContent}"
DockPanel.Dock="Left"
Margin="2"
Width="{Binding ElementName=PART_ContentHost, Path=Height}"
Height="{Binding ElementName=PART_ContentHost, Path=Height}" />
<ScrollViewer x:Name="PART_ContentHost" Margin="2"/>
</DockPanel>
</Border>
问题是,尽管我将图像的宽度和高度设置为文本框主要部分的高度,但它总是尽可能多地填充空闲空间,导致巨大的图像覆盖整个屏幕。
我希望这个元素根据PART_ContentHost
来调整自己的大小。我怎样才能做到这一点?
已解决。解决方案是使用PART_ContentHost
的DesiredHeight
而不是Height
。欢迎使用WPF布局系统。。。