stevenjin 2023-02-04 16:18 采纳率: 98.2%
浏览 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 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助