stevenjin 2023-02-04 16:18 采纳率: 99%
浏览 35
已结题

主窗体中不能通过事件设置Page控件的原因

MainWindows中。通过点击按钮,给Main窗体中的ContentControl赋不同的Page,实现页面切换。
但设置page页面的控件,如可见性时没有见效
设置方法:
在主窗体中,通过委托,执行Page中的方法,进行可见性设置

请求可行方案,及不可设置的原因?


1.Page
 <Grid x:Name="grid" Background="Red" >
        <TextBlock Text="ok" FontSize="200" x:Name="tb"/>
    </Grid>

 
        public void HiddingSettings(string hidden)
        {
            if (hidden=="1")
            {
                tb.Text = "ok?";
                //tb.Visibility = Visibility.Hidden;
            }
       }

2.MainWindow    
 /// 
    /// MainWindow.xaml 的交互逻辑
    /// 
    public partial class MainWindow : Window
    {
        Action<string> HinddenSettings;// 隐藏或显示设置等相关功能
        Frame page1 = new Frame() { Content = new Page1() };

        public MainWindow()
        {
            InitializeComponent();

            contentShow.Content = page1;
            HinddenSettings += new Action<string>(new Page1().HiddingSettings);
        }

        private void click_Click(object sender, RoutedEventArgs e)
        {
            HinddenSettings("1");
        }
    }

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>


        <ContentControl Grid.Row="0" x:Name="contentShow"  VerticalAlignment="Center"/>
        <Button Grid.Row="1" Height="20" Width="200" x:Name="click" Content="click me" Click="click_Click"/>
    </Grid>
  • 写回答

1条回答 默认 最新

  • 小渔民阿发 2023-02-04 16:26
    关注

    你展示的page1和委托调用的不是同一个
    31行又new了一个

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月12日
  • 已采纳回答 2月4日
  • 创建了问题 2月4日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵