|ZYCWPF| 为什么自定义控件后,在XAML中写的属性无效呢?而且加了滚动条,但没有出现?谢谢
这是我的ZRichTextBox的自定义样式
<Style TargetType="{x:Type control:ZRichTextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type control:ZRichTextBox}">
<DockPanel LastChildFill="True">
<Border DockPanel.Dock="Top" SnapsToDevicePixels="True"
BorderBrush="{TemplateBinding ToolbarBorderBrush}"
BorderThickness ="{TemplateBinding ToolbarBorderThickness}">
<StackPanel Height="24" Orientation="Horizontal"
Background="{TemplateBinding ToolbarBackground}">
.....这里为我的工具栏按钮
</StackPanel>
</Border>
<ScrollViewer x:Name="PART_ContentHost" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
</ScrollViewer>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然后我XAML中用
<zc:ZRichTextBox x:Name="richTextBox" Background="#FFD2CB84" >
发现问题
1:Background="#FFD2CB84" 对RichTextBox不起效果
2:RIchTextBox内容多的时候还是不会出现滚动条
谢谢
[解决办法]
1。 ScrollViewer改成:
<ScrollViewer x:Name="PART_ContentHost" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
Background="{TemplateBinding Background}">
</ScrollViewer>
2。在使用的时候也要加上VerticalScrollBarVisibility、HorizontalScrollBarVisibility
(和普通的rtb一样的)
<zc:ZRichTextBox x:Name="richTextBox"
Margin="10,10,10,5"
ToolbarBackground="#FFD2CB84" ToolbarBorderBrush="#FFC6BE75" ToolbarBorderThickness="1,1,1,0"
CodeControlsVisibility="Visible"
VerticalScrollBarVisibility="Auto"
/>
[解决办法]
<ScrollViewer x:Name="PART_ContentHost" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Background="#FFD2CB84">
</ScrollViewer>