WPF 超出控件边界显示问题

一剑天琊雪 2017-09-05 04:54:35
先上代码

<Grid HorizontalAlignment="Right" Margin="0,124.5,32.5,122" Width="90">
<Canvas Margin="-165.5,119.5,0,-119.5" Height="22.5" VerticalAlignment="Top" HorizontalAlignment="Left" Width="80">
<TextBlock x:Name="textBlock" Height="58.5" Canvas.Left="8.409" TextWrapping="Wrap" Text="TextBlock" Canvas.Top="2" Width="70.294" RenderTransformOrigin="0.5,0.5" Background="#FFE02222">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform AngleX="-0.509"/>
<RotateTransform/>
<TranslateTransform X="0.491"/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Canvas>
</Grid>

这个Grid在窗口的左下角。
但是在运行的时候textblock 不会显示超出窗口的部分
请问怎么解决?
...全文
2930 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2017-09-05
  • 打赏
  • 举报
回复
引用 7 楼 一剑天琊雪的回复:
[quote=引用 6 楼 duanzi_peng 的回复:] [quote=引用 2 楼 u013759319 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] TextWrapping="Wrap" -》改成TextWrapping="WrapWithOverflow“
额,,我这是个demo,如果有多个控件呢?[/quote] 写一个TextBlock的Style 样式,里边设置属性,所有的TextBlock再引用这个Style即可。类似:

 <Style x:Key="tbStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource BaseTextBlock}">
        <Setter Property="FontSize" Value="12"></Setter>
        <Setter Property="TextWrapping" Value="WrapWithOverflow"></Setter>
    </Style>
至于如何引用可以使用StaticResource 形式,具体msdn. [/quote] 扩展一下(就是实际我要做的),如果这是个UserControl,里面放了几个不同的控件,然后把UserControl放到Grid中。 这样呢?[/quote] 把后边的baseonOn去掉,这个多余。 不管放到那里,可以用DynamicResource形式动态的加载样式资源。
一剑天琊雪 2017-09-05
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:
[quote=引用 2 楼 u013759319 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] TextWrapping="Wrap" -》改成TextWrapping="WrapWithOverflow“
额,,我这是个demo,如果有多个控件呢?[/quote] 写一个TextBlock的Style 样式,里边设置属性,所有的TextBlock再引用这个Style即可。类似:

 <Style x:Key="tbStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource BaseTextBlock}">
        <Setter Property="FontSize" Value="12"></Setter>
        <Setter Property="TextWrapping" Value="WrapWithOverflow"></Setter>
    </Style>
至于如何引用可以使用StaticResource 形式,具体msdn. [/quote] 扩展一下(就是实际我要做的),如果这是个UserControl,里面放了几个不同的控件,然后把UserControl放到Grid中。 这样呢?
exception92 2017-09-05
  • 打赏
  • 举报
回复
引用 2 楼 u013759319 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] TextWrapping="Wrap" -》改成TextWrapping="WrapWithOverflow“
额,,我这是个demo,如果有多个控件呢?[/quote] 写一个TextBlock的Style 样式,里边设置属性,所有的TextBlock再引用这个Style即可。类似:

 <Style x:Key="tbStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource BaseTextBlock}">
        <Setter Property="FontSize" Value="12"></Setter>
        <Setter Property="TextWrapping" Value="WrapWithOverflow"></Setter>
    </Style>
至于如何引用可以使用StaticResource 形式,具体msdn.
大然然 2017-09-05
  • 打赏
  • 举报
回复
多个 textblock ? 那么写个style,所有textblock都可以用 下面是例子 http://www.cnblogs.com/HQFZ/archive/2015/03/04/4313001.html
一剑天琊雪 2017-09-05
  • 打赏
  • 举报
回复
而且这个属性我也使用过,也不行。
因为这个grid在整个窗口的左下方,所以超出去的部分在预览里面能显示。但是一运行就显示不出来
大然然 2017-09-05
  • 打赏
  • 举报
回复
楼上已经回答了,我想补充的是一看你就是直接拖拽控件的, 你应该试着用 grid row column + stackpanel + DockPanel + WrapPanel这些东西来布局,不然你界面放大缩小等等操作的时候会有问题
一剑天琊雪 2017-09-05
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
TextWrapping="Wrap" -》改成TextWrapping="WrapWithOverflow“
额,,我这是个demo,如果有多个控件呢?
exception92 2017-09-05
  • 打赏
  • 举报
回复
TextWrapping="Wrap" -》改成TextWrapping="WrapWithOverflow“

8,833

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧