wpf在切换窗体时,窗体中的Groupbox控件根据后台数值(比如,后台值为1,则显示,否则隐藏),隐藏或显示。
由于切换时,不会执行Loaded方法,希望通过类似trigger方式实现。
Groupbox控件根据后台数值隐藏或显示
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Eliot5566 2023-02-03 18:07关注
您可以使用绑定来实现您的需求,例如:
在后台代码中定义一个依赖属性,该属性表示组件的可见性。
将该属性绑定到Groupbox的Visibility属性。
在代码中,根据后台数值更改该依赖属性的值,以便在切换窗体时在没有执行Loaded方法的情况下更改Groupbox的可见性。
以下是一个示例代码:
public partial class MainWindow : Window { public static readonly DependencyProperty IsVisibleProperty = DependencyProperty.Register("IsVisible", typeof(bool), typeof(MainWindow), new PropertyMetadata(true)); public bool IsVisible { get { return (bool)GetValue(IsVisibleProperty); } set { SetValue(IsVisibleProperty, value); } } public MainWindow() { InitializeComponent(); DataContext = this; } private void Button_Click(object sender, RoutedEventArgs e) { IsVisible = !IsVisible; } }
XAML代码:
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <GroupBox Header="Groupbox" Visibility="{Binding IsVisible, Converter={StaticResource BooleanToVisibilityConverter}}"> <StackPanel> <TextBlock Text="Content of Groupbox" /> </StackPanel> </GroupBox> <Button Content="Toggle Groupbox Visibility" Click="Button_Click"/> </Grid> </Window>
在此代码中,当您单击“Toggle Groupbox Visibility”按钮时,IsVisible属性将被更改,从而更改Groupbox的可见性。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥15 树莓派5怎么用camera module 3啊
- ¥20 java在应用程序里获取不到扬声器设备
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥15 Attention is all you need 的代码运行