代码之家  ›  专栏  ›  技术社区  ›  vladhorby

Silverlight-在文本框模板中使用滚动查看器

  •  1
  • vladhorby  · 技术社区  · 16 年前

    我正在尝试制作一个文本框模板,我需要在模板中包含一个ScrollViewer——基本上我想添加一些需要与普通文本一起滚动的内容(比如行号)。

                                <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1" Opacity="1">
                                <Grid>
                                    <Border x:Name="ReadOnlyVisualElement" Background="#5EC9C9C9" Opacity="0"/>
                                    <Border x:Name="MouseOverBorder" BorderBrush="Transparent" BorderThickness="1">
                                        <ScrollViewer x:Name="ContentElement" BorderThickness="0" IsTabStop="False" Padding="{TemplateBinding Padding}"/>
                                    </Border>
                                </Grid>
                            </Border>
    

    例如,如果我将ContentElement从ScrollViewer更改为Border,则文本框的行为正常-我只是失去了滚动功能。 现在,如果我用ScrollViewer包装ContentElement,它将不再显示插入符号和选择-如果您键入,它仍然会更新。

                                <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1" Opacity="1">
                                <Grid>
                                    <Border x:Name="ReadOnlyVisualElement" Background="#5EC9C9C9" Opacity="0"/>
                                    <Border x:Name="MouseOverBorder" BorderBrush="Transparent" BorderThickness="1">
                                        <ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" >
                                            <Border x:Name="ContentElement" BorderThickness="0" Padding="{TemplateBinding Padding}" />
                                        </ScrollViewer>
                                    </Border>
                                </Grid>
                            </Border>
    

    1 回复  |  直到 16 年前
        1
  •  0
  •   Greg Levenhagen    16 年前

    只是在黑暗中拍摄,因为我还没有验证…但控件可能正在寻找一个名为ContentElement的ScrollViewer类型的模板部件。

    推荐文章