日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → WPF中的屬性、數(shù)據(jù)、事件觸發(fā)器詳細講解

      WPF中的屬性、數(shù)據(jù)、事件觸發(fā)器詳細講解

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2011/1/31 20:22:12字體大。A-A+

      作者:佚名點擊:835次評論:1次標簽: WPF 觸發(fā)器

      • 類型:塔防游戲大。34.5M語言:中文 評分:10.0
      • 標簽:
      立即下載
      本文摘要:
      1:屬性觸發(fā)器;
      2:數(shù)據(jù)觸發(fā)器;
      3:事件觸發(fā)器;

      Style、ControlTemplate 和 DataTemplate 都有觸發(fā)器集合。
      屬性觸發(fā)器只檢查WPF從屬屬性,而數(shù)據(jù)觸發(fā)器則可檢查任何一種可綁定的屬性。屬性觸發(fā)器一般用來檢查WPF可視元素的屬性,而數(shù)據(jù)觸發(fā)器則通常用來檢查不可視對象的屬性。
      屬性觸發(fā)器:通過此機制,一個屬性的更改會在另一個屬性中觸發(fā)即時或動態(tài)更改。
      數(shù)據(jù)觸發(fā)器:通過此機制,事件會在屬性中觸發(fā)動態(tài)更改。
      數(shù)據(jù)觸發(fā)器:EventTrigger,它根據(jù)事件的引發(fā)來啟動一組操作,但這類操作僅限于動畫。


      一:屬性觸發(fā)器
      查看代碼片段1:

      <Style TargetType="ListBoxItem">
      <Setter Property="Opacity" Value="0.5" />
      <Setter Property="MaxHeight" Value="75" />
      <Style.Triggers>
      <Trigger Property="IsSelected" Value="True">
      <Trigger.Setters>
      <Setter Property="Opacity" Value="1.0" />
      </Trigger.Setters>
      </Trigger>
      </Style.Triggers>
      </Style> 表示在ListBoxItem的IsSelected屬性變?yōu)門rue的時候,其另外一個屬性O(shè)pacity的值變?yōu)?.0。

      1.1單個觸發(fā)器
      代碼片段1就是單個觸發(fā)器。

      1.2多個觸發(fā)器
      可以為ListBoxItem設(shè)置多個觸發(fā)器。

      1.3多條件屬性觸發(fā)器
      多條件觸發(fā)器就是說,同時滿足幾個條件的時候才觸發(fā)行為。
      如代碼片段2:

      <MultiTrigger>
      <MultiTrigger.Conditions>
      <Condition Property="IsFocused" Value="True"></Condition>
      <Condition Property="Content" Value="{x:Null}"></Condition>
      </MultiTrigger.Conditions>
      <Setter Property="ToolTip" Value="content is null!"></Setter>
      </MultiTrigger>二:數(shù)據(jù)觸發(fā)器
      使用 DataTrigger,可以在數(shù)據(jù)對象的屬性值與指定的 Value 匹配時設(shè)置屬性值。例如,在顯示 Employee 對象列表時,可能希望前景色根據(jù)每個 Employee 的當前出勤情況而變化。(例如,用紫色前景色顯示當前正在休假的 Employee。)
      查看代碼片段3

      <Window.Resources>
      <c:Places x:Key="PlacesData"/>

      <Style TargetType="ListBoxItem">
      <Style.Triggers>
      <DataTrigger Binding="{Binding Path=State}" Value="WA">
      <Setter Property="Foreground" Value="Red" />
      </DataTrigger>
      <MultiDataTrigger>
      <MultiDataTrigger.Conditions>
      <Condition Binding="{Binding Path=Name}" Value="Portland" />
      <Condition Binding="{Binding Path=State}" Value="OR" />
      </MultiDataTrigger.Conditions>
      <Setter Property="Background" Value="Cyan" />
      </MultiDataTrigger>
      </Style.Triggers>
      </Style>

      <DataTemplate DataType="{x:Type c:Place}">
      <Canvas Width="160" Height="20">
      <TextBlock FontSize="12"
      Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
      <TextBlock FontSize="12" Width="30"
      Canvas.Left="130" Text="{Binding Path=State}"/>
      </Canvas>
      </DataTemplate>
      </Window.Resources>

      <StackPanel>
      <TextBlock FontSize="18" Margin="5" FontWeight="Bold"
      HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
      <ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
      ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
      </StackPanel>2.1單條件觸發(fā)
      以上的DataTrigger就是一個單條件觸發(fā)器。

      2.2多條件觸發(fā)
      以上的MultiDataTrigger就是一個多條件觸發(fā)器。


      三:事件觸發(fā)器
      屬性觸發(fā)器用來檢查從屬屬性的值,數(shù)據(jù)觸發(fā)器用來檢查CLR屬性的值,而事件觸發(fā)器用來監(jiān)視事件。當一個事件發(fā)生的時候,事件觸發(fā)器就會通過引發(fā)相關(guān)的動畫事件來響應。
      如代碼片段4:
      <Style TargetType="ListBoxItem">
      <Setter Property="Opacity" Value="0.5" />
      <Setter Property="MaxHeight" Value="75" />
      <Style.Triggers>
      <Trigger Property="IsSelected" Value="True">
      <Trigger.Setters>
      <Setter Property="Opacity" Value="1.0" />
      </Trigger.Setters>
      </Trigger>
      <EventTrigger RoutedEvent="Mouse.MouseEnter">
      <EventTrigger.Actions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation
      Duration="0:0:0.2"
      Storyboard.TargetProperty="MaxHeight"
      To="90" />
      </Storyboard>
      </BeginStoryboard>
      </EventTrigger.Actions>
      </EventTrigger>
      <EventTrigger RoutedEvent="Mouse.MouseLeave">
      <EventTrigger.Actions>
      <BeginStoryboard>
      <Storyboard>
      <DoubleAnimation
      Duration="0:0:1"
      Storyboard.TargetProperty="MaxHeight" />
      </Storyboard>
      </BeginStoryboard>
      </EventTrigger.Actions>
      </EventTrigger>
      </Style.Triggers>
      </Style>
        魔獸塔防地圖
        (300)魔獸塔防地圖
        塔防,即炮塔防御的簡稱,也稱。塔防受眾很廣,游戲模式簡單而可玩性強,是智力和策略的比拼。當塔防與這兩種游戲類型融合在一起的話,游戲就會變得更好玩,同時也很休閑。小編在這里為大家搜集整理了許多魔獸爭霸塔防地圖,歡迎感興趣的玩家們前來下載。...更多>>
        塔防游戲
        (70)塔防游戲
        西西游戲網(wǎng)提供最新最熱門的塔防游戲,塔防游戲顧名思義就是炮塔防守游戲,玩家需要建造炮塔轟炸一些進攻的敵人保衛(wèi)家園,塔防游戲操作都很簡單,就是在最合理的位置放置炮塔,無需其他的操作,可能有的塔防游戲會添加一些技能,但是也沒什么難度的哦.熱門游戲保衛(wèi)蘿卜獸人必須死炮塔防御塔防三國志等等,太多了。...更多>>

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)