2017-01-05 3 views
0

Я хочу, чтобы установить набор цвета ListBoxItem, который от типа DummyQuestion на основании значения логического свойства Answered вот что я сделал, но это не сработало, и Я думаю, что у меня есть проблемы с Binding PathTrigger на основе значения ListBoxItem

<ListView> 
<ListView.ItemTemplate> 
    <DataTemplate DataType="{x:Type local:DummyQuestion}"> 
     <Grid> 
      <Ellipse Width="45" Height="45"> 
       <Ellipse.Style> 
        <Style TargetType="Ellipse"> 
         <Style.Setters> 
          <Setter Property="Fill" Value="{StaticResource BaseGrey}" /> 
         </Style.Setters> 
         <Style.Triggers> 
          <DataTrigger 
           Binding="{Binding 
           RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, 
           Path=Answered}" 
           Value="True"> 
           <Setter Property="Fill" Value="{StaticResource BaseGreen}" /> 
          </DataTrigger> 
          <DataTrigger 
           Binding="{Binding 
           RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, 
           Path=Marked}" 
           Value="True"> 
           <Setter Property="Fill" Value="{StaticResource Accent}" /> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </Ellipse.Style> 
      </Ellipse> 
      <TextBlock Text="{Binding SerialNumber}" /> 
     </Grid> 
    </DataTemplate> 
</ListView.ItemTemplate> 
<local:DummyQuestion 
    Answered="False" 
    ArText="xxxx" 
    Marked="False" 
    SerialNumber="1" 
    Text="xxxx?" /> 
<local:DummyQuestion 
    Answered="True" 
    ArText="yyyy" 
    Marked="False" 
    SerialNumber="2" 
    Text="yyyy" /> 
<local:DummyQuestion 
    Answered="False" 
    ArText="zzzz" 
    Marked="False" 
    SerialNumber="3" 
    Text="zzzz" /> 

и здесь является DummyQuestion Класс:

public class DummyQuestion 
{ 
    public string SerialNumber { get; set; } 
    public string Text { get; set; } 
    public string ArText { get; set; } 
    public bool Answered { get; set; } 
    public bool Marked { get; set; } 
} 

ответ

0

Не нужно добавлять источник родственников, удалите источник родственников из выражения привязки.