none
xamarin.forms 內建範本的問題。 RRS feed

  • 問題

  • 請問各位先進:

          我在新增一個xamrin.form的專案,使用內建的範本。有遇到一個部份,不是很了解。

           有一個LoginPage中有一個Button .,如下:

    <ContentPage.Content>
            <StackLayout Padding="10,0,10,0" VerticalOptions="Center">
                <Button VerticalOptions="Center" Text="Login" Command="{Binding LoginCommand}"/>
            </StackLayout>
        </ContentPage.Content>

    -------------------------------------------------------------------------

    請問這個部份,Command="{Binding LoginCommand}",程式碼是放在那邊呢?或是有相關的文件,可以看呢?

    感謝回答。如果有提問不詳細的地方,請和我說,我會再補上。

    Vs 2019 

    2021年8月12日 下午 03:20

所有回覆

  • 你指 LoginCommand 嗎 ? 他會放在 ViewModel , 通常是 BindingContext 指向的位置

    可以參考 Xamarin.Forms命令介面


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



    2021年8月12日 下午 05:24
  • 您可以檢視一下ContentPage的類別檔案(*.xaml.cs)中是否有以下的內容, 如果沒有, 可以搜尋一下LoginCommand這個名稱, 程式碼大概就在建立LoginCommand的地方:

    public ICommand LoginCommand { set; get; }

    2021年8月13日 下午 12:35
  • 感謝。有看到了。請問這是怎樣的寫法呢?因為剛開始,不知道有這種寫法。
    2021年8月14日 上午 10:16
  • 謝謝。有看到了。
    2021年8月14日 上午 10:16
  • 這種做法叫命令繫結,在 MVVM 模式裡常見。

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

    2021年8月14日 下午 04:49
  • 您可以搜尋建立(new)LoginCommand的程式碼, 應該可以看到建立LoginCommand時定義CanExecute函式, Execute函式, , 和CanExecuteChanged事件的內容, 當這個LoginCommand拿給Xamarin Form繫結之後, 即:

    <Button VerticalOptions="Center" Text="Login" Command="{Binding LoginCommand}"/>
    上述的Button就是依據CanExecute函式的回傳值設定啟用/禁用狀態, 當Button按鍵被使用點選時就會執行Execute函式

    2021年8月15日 上午 12:59
  • 好的。會持續學習。感謝教導 ^^
    2021年8月18日 上午 01:28