簡體   English   中英

綁定交互觸發焦點邊框

[英]Binding Interaction Trigger focus border

我有一個ListBox,用戶可以在其中選擇一個項目,一旦按下向右箭頭,該項目就會移到另一個面板。

當我使用按鈕引發命令時,一切正常。 但是,當我有該項目並按向右箭頭時,即會添加該項目,但下一個項目的焦點設置不正確,我的意思是,邊框已聚焦,而不是另一個項目。

我已經在ListBox上設置了IsTabStop="False"

這就是綁定交互觸發器的方式:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="KeyDown">
        <cal:ActionMessage MethodName="WasPressed">
            <cal:Parameter Value="$eventArgs"/>
        </cal:ActionMessage>
    </i:EventTrigger>
</i:Interaction.Triggers>

這就是我如何管理引發命令的觸發器:

public void WasPressed(KeyEventArgs e)
{
    if (SelectedItem != null && e.Key == Key.Right)
    {
        MoveItem();
    }
}

這就是我按下向右箭頭后的樣子(並添加了該項目,因此可以正常工作)。 注意出現的邊框:

后

許多WPF元素在IsFocused屬性上都有一個觸發器,該觸發器在其周圍添加了一個虛線邊框。 看來這正在發生。

ListBox沒有這樣的觸發器,因此您應該調查父元素。

最簡單的方法是使用Blend編輯模板的現有副本。

單擊元素,然后轉到對象->編輯樣式->編輯副本

然后Blend明確定義了模板,您可以查找定義虛線邊框的觸發器。

暫無
暫無

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

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