2017-09-29 74 views
0

我主持Path一個Button內,希望基於包含控制,因此我結束了以下XAML代碼窗口WindowState動態改變Data屬性:Path.Data財產無法識別或入店在二傳手

<Path SnapsToDevicePixels="True" Data="F1M0,0L0,9 9,9 9,0 0,0 0,3 8,3 8,8 1,8 1,3z" 
    Fill="Black"> 
    <Path.Style> 
     <Style> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type system:Window}}, Path=WindowState}" Value="Maximized"> 
        <Setter Property="Data" Value="F1M0,10L0,3 3,3 3,0 10,0 10,2 4,2 4,3 7,3 7,6 6,6 6,5 1,5 1,10z M1,10L7,10 7,7 10,7 10,2 9,2 9,6 6,6 6,9 1,9z" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Path.Style> 
</Path> 

不幸的是我得到錯誤信息The member "Data" is not recognized or is not accesible.,我不明白爲什麼會出現這個錯誤,也不是我能找到一個解決辦法。

回答

1

您缺少TargetType

還要注意,如果您爲Data設置本地值,然後觸發一個設置將無法改變它,所以你需要一個二傳手的風格

<Path SnapsToDevicePixels="True" Fill="Black"> 
    <Path.Style> 
     <Style TargetType="Path"> 
      <Setter Property="Data" Value="F1M0,0L0,9 9,9 9,0 0,0 0,3 8,3 8,8 1,8 1,3z"/> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type system:Window}}, Path=WindowState}" Value="Maximized"> 
        <Setter Property="Data" Value="F1M0,10L0,3 3,3 3,0 10,0 10,2 4,2 4,3 7,3 7,6 6,6 6,5 1,5 1,10z M1,10L7,10 7,7 10,7 10,2 9,2 9,6 6,6 6,9 1,9z" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Path.Style> 
</Path>