我已經制作了自己的自定義面板(主要處理項目的網格佈局,取決於它們的大小和麪板大小)。將樣式應用於自定義面板的一個子元素?
我必須能夠在項目之間「導航」(使用鍵盤箭頭),併爲其中的一個提供視覺樣式。
目前我能得到應強調UIElement
,但我不知道:
- 我如何應用樣式?
- 要應用哪種風格?由於我不知道包含什麼樣的元素,所以我想也許在光標周圍應用一些邊框
任何想法如何進行?
我也會有以「專注」這個元素,如果這能幫助
我已經制作了自己的自定義面板(主要處理項目的網格佈局,取決於它們的大小和麪板大小)。將樣式應用於自定義面板的一個子元素?
我必須能夠在項目之間「導航」(使用鍵盤箭頭),併爲其中的一個提供視覺樣式。
目前我能得到應強調UIElement
,但我不知道:
任何想法如何進行?
我也會有以「專注」這個元素,如果這能幫助
的UIElement類型不具有的風格理念,風格是FrameworkElement的定義的屬性,其自UIElement派生,並提供了一個一組WPF元素的屬性,事件和方法。
如果你能投你的UIElement的FrameworkElement的,你可以應用該樣式這樣
FrameworkElement frameworkElement = uiElement as FrameworkElement;
if (frameworkElement != null)
{
frameworkElement.Style = myStyle;
}
好的,我可以做,但是應用什麼風格?既然我只知道這是一個FrameworkElement?我不知道它周圍的財產 – J4N
如果你想手動應用一個樣式,你將不得不知道你的樣式,否則整個想法是沒有意義的。您可以獲取元素的類型並使用它來查找以該類型爲目標的樣式。 –
可以使用自定義面板作爲ItemsPanel的列表框,例如
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
這裏找到ItemsControl: A-Z chapter I
ListBox的包裝物品進入ListBoxItem的容器和支持(在箱子外面)選擇(1個或多個項目),選擇的項目亮點(可以用一種新的風格進行定製)的想法。所有的箭頭鍵也工作。
我會嘗試,但我不確定箭頭鍵如何與網格佈局一起工作(這意味着上下應該更改行,左右應該改變列) – J4N
您可以使用該自定義面板作爲ListBox的ItemsPanel。 ListBox允許選擇一個或多個元素(爲每個數據項目創建一個ItemContainer(ListBoxItem)),因此您可以自定義選定的ListBoxItem風格 – ASh
@ASh這似乎是一個好主意!你在哪裏處理鍵盤按鍵?你應該回答你的建議 – J4N