【问题标题】:WPF max width of TextBlock in C#C#中TextBlock的WPF最大宽度
【发布时间】:2014-01-21 21:08:40
【问题描述】:

我需要在 WrapPanel 中以编程方式创建一个 TextBlock。此 TextBlock 将充当标题,因此我不希望任何内容出现在 TextBlock 的右侧。有没有更好的方法来最大化 TextBlock 的宽度而不做类似的事情;

myTexblock.Width = 1000000;

谢谢

【问题讨论】:

  • 当然,不要使用 WrapPanel。
  • @Clemens WrapPanel 解决了其他问题。在此包装面板中,需要以编程方式添加多个项目。可以是 1 个按钮,也可以是 20 个按钮。这一切都基于它正在提供的数据。因此,如果您知道解决放置在屏幕上的未知数量对象并“包裹”它们的好方法,请告诉我。
  • 准确告诉我们您想要实现的布局。也许添加一个草图。

标签: c# .net wpf wrappanel


【解决方案1】:

我认为比将标题放在WrapPanel 中更好的解决方案是将标题和WrapPanel 放在StackPanel

类似的东西:

<StackPanel>
      <TextBlock Text="Some Header Text"
                 HorizontalAlignment="Stretch" />
      <WrapPanel>

         <Button Content="Placeholder" />
         <Button Content="Also holding a place" />
      </WrapPanel>
</StackPanel>

这提供了与您描述的相同的视觉效果,但没有草率的属性设置。

【讨论】:

  • 这行不通,因为此 WrapPanel 中会有多个“标题”。
  • @user2891892 所以你是说你有多个垂直堆叠的“标题”?听起来很像使用 StackPanel...
  • 你应该使用 StackPanel 和 TextBlocks 作为标题(尽可能多)和 WrapPanels。
  • 正如@Fayilt 所说,可能有多个“标题”这一事实并不是一个好的借口。如果您发布了您想要实现的目标的描述,那么提供完全符合您需求的不同解决方案可能会更容易。
猜你喜欢
  • 2017-04-06
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2012-03-05
  • 2010-10-13
  • 1970-01-01
相关资源
最近更新 更多