簡體   English   中英

創建簡單的自定義XAML / C#按鈕

[英]Create Simple Custom XAML / C# button

首先,我是XAML / C#(iOS / Android程序員)的新手,所以請耐心等待,而不要立即投票。 我的應用程序有一些包含按鈕的GridView。 這些按鈕很多都是相似的,我想對其進行重構。 為簡單起見,假設我的按鈕只是具有給定顏色的矩形。 此顏色可能來自在GridView中定義特定項目的Item類,或者可能是硬編碼的。 我希望矩形在懸停和按下狀態時更改顏色。 我也希望這些顏色成為參數。

實現此目標的最佳方法是什么?

  1. 我試圖制作一個Button子類,但以某種方式無法訪問VisualStateManager中的依賴項屬性
  2. 我嘗試在背后的代碼中編寫內容,但是后來我不確定如何將click命令委托給ViewModel類。

有人可以給我一個小的工作例子嗎?

謝謝

您可以使用樣式模板執行此操作。

在Visual Studio設計器中,右鍵單擊您的按鈕,然后選擇“ Edit Template ,然后選擇“ Edit a Copy...

按鈕模板編輯

然后,系統將提示您命名新樣式以及要存儲在哪個文件中。現在,只需為其命名一個唯一的名稱(例如MyButtonStyle ,然后選擇當前文件即可。

樣式創建彈出窗口

然后,Visual Studio將樣式的副本添加到當前的xaml文檔中,並將更新您的按鈕以使用新樣式。

<Button x:Name="Download" Style="{StaticResource MyButtonStyle}"></Button>

此后,您可以更新新樣式,包括更改不同視覺狀態(如懸停或單擊)的顏色。

然后,您可以在同一文檔的其他按鈕中繼續使用新樣式。 要在多個xaml文檔中使用該樣式,必須將其拉出到公共資源文件中。

因此,您想使用自定義屬性來調整按鈕。 這是使用自定義控件的好時機。 您可以創建所需的任何依賴項屬性,並在代碼中調整布局。 http://timheuer.com/blog/archive/2012/03/07/creating-custom-controls-for-metro-style-apps.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM