การส่งผ่านค่า enum เป็นพารามิเตอร์คำสั่งจาก XAML


182

ฉันต้องการส่งผ่านค่า enum เป็นพารามิเตอร์คำสั่งใน WPF โดยใช้สิ่งนี้:

<Button 
    x:Name="uxSearchButton" 
    Command="{Binding Path=SearchMembersCommand}" 
    CommandParameter="SearchPageType.First"
    Content="Search">
</Button>

SearchPageType เป็น enum และนี่คือการรู้ว่าคำสั่งค้นหาปุ่มใดถูกเรียก

เป็นไปได้ใน WPF หรือคุณจะส่งค่า enum เป็นพารามิเตอร์คำสั่งได้อย่างไร

คำตอบ:



171

โปรดจำไว้ด้วยว่าหาก enum ของคุณอยู่ในคลาสอื่นคุณต้องใช้+โอเปอเรเตอร์

<Button CommandParameter="{x:Static local:MyOuterType+SearchPageType.First}".../>

46

คุณสามารถใช้ไวยากรณ์องค์ประกอบคุณสมบัติแทนไวยากรณ์แอตทริบิวต์สำหรับสิ่งนี้:

<Button x:Name="uxSearchButton"
        Command="{Binding Path=SearchMembersCommand}"
        Content="Search">
    <Button.CommandParameter>
        <SearchPageType>First</SearchPageType>
    </Button.CommandParameter>
</Button>

31

นอกจากนี้หากคุณต้องการระบุ [ Flags] enum คุณสามารถใช้ไวยากรณ์องค์ประกอบคุณสมบัติ:

<Button>
  <Button.CommandParameter>
    <SearchPageType>First,Second</SearchPageType>
  <Button.CommandParameter>
</Button>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.