uczę WPF i I napotkał następujący problem:Jak mogę używać typów enum w XAML?
mam typu enum w innej przestrzeni nazw niż mój XAML:
public enum NodeType
{
Type_SYSTEM = 1, // System
Type_DB = 2, // Database
Type_ROOT = 512, // Root folder
Type_FOLDER = 1024, // Folder
}
w moim XAML Chciałbym wywołać obrazu z integer
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="{NodeType: }">
<Setter Property="Source" Value="/Images/DB.PNG"/>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="128">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
Czy istnieje sposób na uzyskanie wartości całkowitej i porównanie jej z typem wyliczenia bezpośrednio w kodzie XAML?
Moje enum jest w przestrzeni nazw AnotherNamespace.Types
<DataTrigger Binding="{Binding IntegerType}" Value="MyEnumType.Type_DB">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
Dzięki za odpowiedź! Jeśli mój "NodeType" znajduje się w innym obszarze nazw, jak mogę zaimportować do xaml? – davymartu
@ user1696549 Możesz dodać inne przestrzenie nazw do swojego XAML, używając 'xmlns' w tagu głównym. Na przykład ta linia doda przestrzeń nazw 'MyNamespace' z zespołu' MyAssembly' do pliku XAML i może się do niej odwoływać przedrostek '" local "': 'xmlns: local =" clr-namespace: MyAssembley.MyNamespace ; assembly = MyAssembly "' – Rachel
Z powodzeniem zaimportowałem przestrzeń nazw, ale xaml mówi mi, że "NodeType" nie istnieje w przestrzeni nazw ... moja przestrzeń nazw to "XFramework.domain.helpers", a moje wyliczenie jest w klasie XHelper w ta sama przestrzeń nazw. – davymartu