C# 按钮位置

C# 按钮位置,c#,wpf,xaml,C#,Wpf,Xaml,我的问题是如何处理4个按钮在屏幕上的位置(WPF)。它们是垂直组织的,例如: 按钮1 按钮2 按钮3 按钮4 由于有24种可能的订单组合(在某些情况下,一种可能可见,而另一种可能不可见),我想知道您是否有智能解决方案来订购它们 基本上,我必须隐藏非活动按钮并重新排列屏幕中的边距,以便向用户显示新订单 实际上我是在处理System.Windows.Visibility。例如,如果按钮1未激活,则按钮2必须是顺序中的第一个,依此类推 我希望我的问题是明确的,并收到一些有用的提示 提前感谢使用可见性。

我的问题是如何处理4个按钮在屏幕上的位置(WPF)。它们是垂直组织的,例如:

按钮1 按钮2 按钮3 按钮4

由于有24种可能的订单组合(在某些情况下,一种可能可见,而另一种可能不可见),我想知道您是否有智能解决方案来订购它们

基本上,我必须隐藏非活动按钮并重新排列屏幕中的边距,以便向用户显示新订单

实际上我是在处理System.Windows.Visibility。例如,如果按钮1未激活,则按钮2必须是顺序中的第一个,依此类推

我希望我的问题是明确的,并收到一些有用的提示


提前感谢

使用可见性。折叠以隐藏要隐藏的按钮

使用
StackPanel
Orientation=“Vertical”
。你不必处理利润。将
可见性
设置为
折叠
隐藏的值将为每个按钮保留空间,即使不可见。

请查看MSDN上的完整详细信息。当您在
可见
折叠
之间切换其
可见性
属性值时,此
面板
控件将自动移动
按钮
位置。。。使用
折叠
值而不是
隐藏
值很重要,因为
折叠
设置在隐藏时不会保留该
按钮的空间:

<StackPanel>
    <Button ... />
    <Button ... />
    <Button ... />
    <Button ... />
</StackPanel>

将可见性绑定到活动属性,您不必编写任何后端代码。装订应该能帮你处理一切

<Button x:Name="Button1" Content="Button1" Visibility={Binding IsButton1Active,Converter={StaticResource BooleanToVisibilityConverter}}/> 


等等。

这就是我现在正在做的,但我想避免使用嵌套if或长开关来处理所有24个组合。然后你应该绑定视图模型中的可见性。使用它你还应该提到你使用过它。尝试使用StackPanel并观察此-1问题作者说它们是垂直组织的,但您建议他们设置
Orientation=“Horizontal”
。。。如果你纠正你的错误,我很乐意取消这张否决票。是的,我认为这是最好的解决办法。谢谢,如果你还有其他问题,请告诉我。如果它解决了你的问题,请标记为答案。我必须小心这个评论,因为我不想给人错误的印象。。。说清楚一点,我不是在要求别人接受我的答案。然而,这个答案怎么可能是这个问题的公认答案呢?它根本没有回答这个问题。。。作者的问题是我的问题是如何处理屏幕上4个按钮的位置(WPF)。答案是将可见性绑定到活动属性。。。这怎么可能是正确的答案呢?你能回答这个问题吗,或者编辑这个问题使它们匹配吗?嗨,Sheridan,如果我给我的帖子留下了错误的印象,很抱歉,但我认为作者已经在处理按钮的定位了,就像在一篇帖子中所说的“这就是我现在正在做的事情,但我希望避免使用嵌套if或长开关来处理所有24种组合。当他/她说按钮垂直排列时,我假设使用了stackpanel。我认为主要的问题在于很多if语句在需要时隐藏和显示按钮,因此绑定可以在不使用任何后端的情况下解决问题code@Krishna,别担心,你绝对没有问题。你的回答显然有助于问题的作者。。。他们似乎只是问了一个错误的问题,这是一个有点奇怪的错过比赛。非常有用的事实上,我不必处理保证金等。。。谢谢
<Button x:Name="Button1" Content="Button1" Visibility={Binding IsButton1Active,Converter={StaticResource BooleanToVisibilityConverter}}/>