동적 문자열이 MenuItem 헤더로 표시되는 경우가 있는데, '_'가 포함되어있는 경우가 있습니다. WPF는 밑줄을 니모닉의 표시로 취급하지만, 나는 그것을 원하지 않습니다. 어떻게 비활성화합니까?WPF MenuItem에서 연상 기호를 비활성화하려면 어떻게합니까?
6
A
답변
5
메뉴 아이템에 작동하지 않았다 스레드 WPF listbox. Skip underscore symbols in strings, 모든 솔루션을 시도 후, 나는 이런 짓을 :
public class EscapeMnemonicsStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string str = value as string;
return str != null ? str.Replace("_", "__") : value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
0
또 다른 해결책은 조정 속성으로 TextBox
안에 메뉴 텍스트를 넣어하는 것입니다 .
코드에 MenuItem
을 구축하는 경우는 다음과 같을 것이다 :
var menuItem = new MenuItem();
var menuHeader = new Textbox();
menuHeader.Text = "your_text_here";
menuHeader.IsReadOnly = true;
menuHeader.Background = Brushes.Transparent;
menuHeader.BorderThickness = new Thickness(0);
menuItem.Header = menuHeader;
menuItem.ToolTip = "your detailed tooltip here";
menuItem.Click += YourEventHandlerHere;
yourMenu.Items.Add(menuItem);
를 메뉴는 XAML에 그것은 동적 텍스트 만있는 경우, 그 결과는 다음과 같습니다
<MenuItem Name="menuDynamic" Click="menuDynamic_Click">
<MenuItem.Header>
<TextBox Name="dynamicMenu"
Text="With_Underscore"
IsReadOnly="True"
Background="Transparent"
BorderThickness="0" />
</MenuItem.Header>
</MenuItem>
그러면 코드가 필요할 때 코드를 동적으로 dynamicMenu.Text = "what_ever";
으로 설정할 수 있습니다.
관련 문제
- 1. DataTemplate의 MenuItem에서 WPF - 명령
- 2. MapHilight에서 하이라이트를 비활성화하려면 어떻게합니까?
- 3. BindingNavigator에서 toolstripitems를 비활성화하려면 어떻게합니까?
- 4. DataGridView에서 확인란을 비활성화하려면 어떻게합니까?
- 5. 뷰에서 버튼을 비활성화하려면 어떻게합니까?
- 6. UIDatePicker에서 기간을 비활성화하려면 어떻게합니까?
- 7. 캐시를 완전히 비활성화하려면 어떻게합니까?
- 8. MenuItem에서 WPF CommandBindings을 손상시킬 수있는 것은 무엇입니까?
- 9. 내 모든 WPF 응용 프로그램에서 가상 키보드를 비활성화하려면 어떻게합니까?
- 10. WPF : SystemMenu 바로 가기 'Alt + Space'를 비활성화하려면 어떻게합니까?
- 11. WPF ContextMenu 디자인. WPF MenuItem에서 배경을 설정하는 방법?
- 12. Windows Form에서 hittests를 비활성화하려면 어떻게합니까?
- 13. iScroll에서 드래그 이벤트를 비활성화하려면 어떻게합니까?
- 14. Ramaze 레이아웃을 조건부로 비활성화하려면 어떻게합니까?
- 15. WordPress에서 범주를 숨기거나 비활성화하려면 어떻게합니까?
- 16. 한 사이트에서 Coldfusion을 비활성화하려면 어떻게합니까?
- 17. 양식의 입력 패널을 비활성화하려면 어떻게합니까?
- 18. Wijmo Menu 항목을 비활성화하려면 어떻게합니까?
- 19. dwm에서 대체 코드를 비활성화하려면 어떻게합니까?
- 20. "옥타브 : #>"에코를 비활성화하려면 어떻게합니까?
- 21. SignalR - 웹 소켓을 비활성화하려면 어떻게합니까?
- 22. Safari에서 DNS 캐싱을 비활성화하려면 어떻게합니까?
- 23. UITableViewCell 선택을 하나씩 비활성화하려면 어떻게합니까?
- 24. Nagle의 소켓 알고리즘을 비활성화하려면 어떻게합니까?
- 25. Matplotlib에서 키보드 단축키를 비활성화하려면 어떻게합니까?
- 26. NSTextView에서 끌어서 놓기를 비활성화하려면 어떻게합니까?
- 27. Apache에서 디렉토리 목록을 비활성화하려면 어떻게합니까?
- 28. 콤보 상자의 입력을 비활성화하려면 어떻게합니까?
- 29. CSS 선택기를 취소/비활성화하려면 어떻게합니까?
- 30. CodeKit에서 캐시 버스터를 비활성화하려면 어떻게합니까?
왜 당신은 이미 당신이 문제에 대한 해결책을 가지고 있습니까? 그것은 *이 사이트가 아닌 * *입니다. – Sheridan
@Sheridan, 전적으로 그렇게 할 수 있습니다 ... 질문을 할 때, 게시하기 전에 대답 할 수있는 옵션이 있습니다. 문제를 발견하지 못했다면 미래의 시청자에게 매우 유용 할 수 있습니다. – SuperPrograman
@SuperPrograman, 제가 개인적으로 동의하지는 않지만 도움말 페이지를 살펴본 결과 올바른지 인정합니다. 사과 Omer. – Sheridan