ฉันมีปุ่มที่มีภาพพื้นหลังคงที่และต้องการแสดงภาพซ้อนทับขนาดเล็กที่ด้านบน ภาพซ้อนทับที่จะเลือกขึ้นอยู่กับคุณสมบัติการอ้างอิง ( LapCounterPingStatus
) ของโมเดลตามมุมมอง
นี่คือสิ่งที่ฉันได้รับจนถึงตอนนี้:
<Button>
<Grid>
<Image Stretch="None"> <!-- Background Image -->
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="/Images/Pingn.png"/>
</Style>
</Image.Style>
</Image>
<Image Stretch="None" Panel.ZIndex="1"> <!-- Small Overlay Image -->
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=LapCounterPingStatus}" Value="PingStatus.PING_UNKNOWN">
<Setter Property="Source" Value="/Images/RefreshOverlayn.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=LapCounterPingStatus}" Value="PingStatus.PING_FAILURE">
<Setter Property="Source" Value="/Images/ErrorOverlayn.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=LapCounterPingStatus}" Value="PingStatus.PING_SUCCESS">
<Setter Property="Source" Value="/Images/CheckmarkOverlayn.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Grid>
</Button>
ส่วนที่เกี่ยวข้องของโมเดลมุมมองของฉัน
public class ConfigurationViewModel
{
public enum PingStatus { PING_UNKNOWN, PING_SUCCESS, PING_FAILURE };
public PingStatus LapCounterPingStatus
{
get { return _lapCounterPingStatus; }
set
{
_lapCounterPingStatus = value;
RaisePropertyChanged(LapCounterPingStatusPropertyName);
}
}
}
ตอนนี้ไม่มีการแสดงภาพซ้อนทับเลย มีอะไรผิดปกติ?
อัปเดต
หน้าต่างร่องรอยของ IDE ของฉันคือการแสดงและSystem.ArgumentException
System.FormatException
แหล่งที่มาของปัญหาอาจเป็นประเภทของการแจงนับที่ไม่รู้จักของPingStatus
XAML หรือไม่