2017-12-30 11 views
0


나는 현재 UWP 앱 만들기 위해, 그리고 그 방법을 배우고
, 나는 사용자가 노트를 만들 수있는 응용 프로그램, 메모의 종류, 등등 ...
UWP - 아이콘 선택기

를 만들고 있어요

저는 모든 카테고리가 나열 될 NavigationView를 가지고 있으며, 사용자가 특정 카테고리를 클릭하면 무엇이 (아직 무엇인지 모릅니다) 모든 노트 목록을 팝업합니다.

각 카테고리에 아이콘이 있어야하므로 NavigationView의 창을 닫은 상태에서도 카테고리를 계속 클릭 할 수 있습니다. 가능한 모든 아이콘과 사용자가 새로운 카테고리를 생성

, 나는 콤보를 통해 그에게 아이콘의 검색을주고 싶어 (같은 행동 또는 무언가) :

내 문제는 다음과 그것.

  • 아이콘을 콤보 박스에 넣을 수 있습니까?
  • NavigationViewItem에 사용할 아이콘을 내 콤보 박스의 항목 소스로 사용하려면 어떻게해야합니까?

편집 : 나는 또한 간단한 클래스를 만든

<ComboBox x:Name="iconpicker"> 
     <ComboBox.ItemTemplate> 
      <DataTemplate> 
       <SymbolIcon Symbol="{Binding symbol}" /> 
      </DataTemplate> 
     </ComboBox.ItemTemplate> 
</ComboBox> 

: 나는 SymbolIcon 구성 요소를 사용하여 내 콤보 상자에 ItemTemplate을 추가 : 여기

내가 무슨 짓을했는지의

public class ComboSymbol 
{ 
    public Symbol symbol; 
} 

그리고 여기 내 코드는 콤보 상자를 채우는 것입니다 :

ObservableCollection<ComboSymbol> images = new ObservableCollection<ComboSymbol>(); 
iconpicker.ItemsSource = images; 
images.Add(new ComboSymbol { symbol = Symbol.Accept }); 

그리고 거의 효과가 있습니다.
Picture of the combobox item

자세히 알 수 있듯이 기호는 내가 선택했던 기호가 아닙니다. 그리고 어떤 기호 (코드 숨김)를 선택하든 항상이 그림이 있습니다.

편집 2 : 내가 뭔가 잘못했던 곳
내가이 검색되었고, 분명히 내 바인딩에 관하여이다. SymbolIcon 구성 요소의 기본 아이콘이 있습니다. (원하는 Symbol을 말하지 않고 SymbolIcon을 만들었습니다. 이모티가 다시 나타 났으므로 제 경우에는 제 바인딩이 좋지 않습니다. 원하는 Symbol을 찾을 수 없기 때문에, 프로그램이 기본 아이콘을 사용함).

최종 편집 : 여기
문제였다 난 그냥 넣어 것을 잊었다 "{얻을; 설정을}"내 클래스의 멤버 선언 후. 이제 작동 중입니다!

public Symbol symbol { get; set; } // Fix 
+0

그 대답을 선호 할 수 있습니다. https://social.msdn.microsoft.com/Forums/vstudio/en-US/928a83b5-09ad-4553-9bc3-45c6dd91a419/add-a-image-to-comboboxitem?forum= wpf –

+0

@ shubham-sahu 감사합니다! 거의 끝났어요. 단 하나의 멤버 (BitmapImage로 아이콘)가있는 클래스가 있습니다. Windows.UI.Xaml.Symbol 항목을 BitmapImage로 변환하려고하는데 어떻게해야할지 모르겠다. 아이디어가 있습니까? – christophechichmanian

+0

@christophechichmanian 당신이 한 일을 우리에게 보여주기 위해 [mcve]를 게시하십시오. –

답변

0

"아이콘"을 표시 할 수있는 몇 가지 UWP 컨트롤이 있습니다.그들의 공통의 부모는 IconElement 클래스이며, 다음과 같은 구현이 있습니다

  • BitmapIcon을 - 표시합니다 아이콘으로 (일반적으로 .png를) 이미지 PathIcon는
  • - 아이콘으로 XAML 경로를 표시
  • FontIcon는 - 미리 정의 된 세트로부터의 값에 기초하여 아이콘을 표시 - SymbolIcon
  • 아이콘으로 소정 폰트에서 문자열을 표시 시스템 기호는

당신은 확실히 ComboBox 항목으로 NavigationView 동일한 아이콘을 사용할 수 있습니다. Items

이것은 가정이 완전히 templateable이며 단순히 사용자 정의 템플릿을 만들 수 있기 때문에 ComboBox 사용자 정의

는 XAML과 매우 쉽습니다가있는 사용자 정의 클래스 모음 아이콘으로 사용 된 이미지의 경로가있는 0 속성과 텍스트가있는 Text 속성이 있습니다. 그러면 왼쪽에 아이콘이 있고 그 옆에 텍스트가있는 두 개의 열 레이아웃이 표시됩니다.

+0

감사합니다. SymbolIcon은 제가 찾고 있던 것입니다! 하지만 지금은 다른 문제가 있습니다 (주요 메시지 참조) – christophechichmanian