none
WPF如何在MainWindows內呼叫各Page上的元件? RRS feed

  • 問題

  • 請問我如何在WPF的MainWindows中建立了幾頁Page, 每個Page都有幾個元件(Label, Button, Textblock等等)

    我要如何在MainWindows中去呼叫並修改其他page中的元件屬性呢?

    例如:

            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                呼叫其他page的元件

               Page1.Label1.Content = "123" <---我是這樣寫的, 但是失敗

            }

    2020年7月24日 上午 08:56

所有回覆

  • 您可以參考這篇文件的做法:

    Sending any value from one form to another form in WPF

    2020年7月24日 上午 10:54
  • 不考慮用資料繫結的方式?

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2020年7月24日 下午 04:28
    版主
  • 請問有可以參考的範例嗎?

    因為我剛接觸WPF, 對於資料繫結幾乎不太了解...:(

    2020年7月29日 上午 07:41
  • 給您的連結中就有範例
    2020年7月29日 上午 11:04
  • 我以為資料繫結是像這種的@@

    <TextBlock>
            <Run Text="{Binding Path=MachineName[0]}"/>      
            <Run Text=":&#x09;"/>
            <Run Text="{Binding Path=MachineStatus[0]}" Foreground="{Binding StatusColor[0]}"/>
    </TextBlock>

    另外, 我照上面連結的寫法作, 我按下按鈕後, 我用中斷看, 

                Bender _b1 = new Bender();
                _b1.lblBenderID.Content = "AAA";
                _b1.lblBenderFile.Content = "ODDDDD"

    資料有變, 但我畫面上的Label顯示並沒有變, 是為什麼呢?


    • 已編輯 烏龍綠 2020年7月30日 上午 01:03
    2020年7月30日 上午 12:39
  • 我以為資料繫結是像這種的@@

    <TextBlock>
            <Run Text="{Binding Path=MachineName[0]}"/>      
            <Run Text=":&#x09;"/>
            <Run Text="{Binding Path=MachineStatus[0]}" Foreground="{Binding StatusColor[0]}"/>
    </TextBlock>


    資料繫結是這樣沒錯啊

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2020年7月30日 上午 04:07
    版主