第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在同一樣式內(nèi)使用設(shè)置器來更改樣式控件內(nèi)同一類型的不同元素?

如何在同一樣式內(nèi)使用設(shè)置器來更改樣式控件內(nèi)同一類型的不同元素?

C#
紅糖糍粑 2022-11-22 16:08:46
我有一個Grid并且里面有兩個Path。當在 上應(yīng)用一種樣式時Grid,第一個Path應(yīng)該有一些Data,第二個應(yīng)該有一些其他數(shù)據(jù)。當應(yīng)用秒樣式時,第一個Path應(yīng)該有另一個Data,第二個Path應(yīng)該有另一個不同的Data。我希望能夠設(shè)置Setter的目標元素名稱。我嘗試了下面的代碼。我在左邊得到兩個十字而不是一個三角形,在右邊得到一個十字。<Window x:Class="cs_wpf_test_2.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:cs_wpf_test_2"        mc:Ignorable="d"        Title="MainWindow" Height="450" Width="800">    <Window.Resources>        <Style x:Key="styleWithPlusSign" TargetType="Path">            <Setter Property="Path.Data" Value="M 5,95 L 95,95 50,5 5,95"></Setter>            <Setter Property="Path.Data" Value="M 50,10 L 50,10 L 50,90 M 10,50 L 90,50"></Setter>        </Style>    </Window.Resources>    <Grid>        <Grid.ColumnDefinitions>            <ColumnDefinition Width="*"/>            <ColumnDefinition Width="*"/>        </Grid.ColumnDefinitions>        <Path Stroke="Blue"                Stretch="Fill"                x:Name="MyFirstPath"              Style="{StaticResource styleWithPlusSign}"              />        <Path Grid.Column="1" Stroke="Black"                StrokeThickness="4"                Stretch="Uniform"                x:Name="MySecondPath"              Style="{StaticResource styleWithPlusSign}"/>    </Grid></Window>我使用這個不靈活的代碼得到了想要的結(jié)果:<Grid>    <Grid.ColumnDefinitions>        <ColumnDefinition Width="*"/>        <ColumnDefinition Width="*"/>    </Grid.ColumnDefinitions>    <Path Stroke="Blue"        Stretch="Fill"        x:Name="MyFirstPath"        Data="M 5,95 L 95,95 50,5 5,95"        /></Grid>截屏:如果我嘗試使用s 的TargetName屬性,Setter我會收到錯誤消息:XDG0029 | 無法識別名稱“MyFirstPath”。XDG0029 | 無法識別名稱“MySecondPath”。
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

這是帶觸發(fā)器的解決方案:我只是測試列號是否為 0,在這種情況下我顯示一個三角形,或者一個十字。


<Window.Resources>

    <Style x:Key="styleWithPlusSign" TargetType="Path">

        <Style.Triggers>

            <Trigger Property="Grid.Column" Value="0">

                <Setter  Property="Path.Data" Value="M 5,95 L 95,95 50,5 5,95"></Setter>

            </Trigger>

        </Style.Triggers>

        <Setter Property="Path.Data" Value="M 50,10 L 50,10 L 50,90 M 10,50 L 90,50"></Setter>

    </Style>

</Window.Resources>

<Grid>

    <Grid.ColumnDefinitions>

        <ColumnDefinition Width="*"/>

        <ColumnDefinition Width="*"/>

    </Grid.ColumnDefinitions>

    <Path Grid.Column="0" Stroke="Blue"

          Stretch="Fill"

          x:Name="MyFirstPath"

          Style="{StaticResource styleWithPlusSign}"

    />

    <Path Grid.Column="1" Stroke="Black"

          StrokeThickness="4"

          Stretch="Uniform"

          x:Name="MySecondPath"

          Style="{StaticResource styleWithPlusSign}"/>

</Grid>

如果您需要為每個路徑精確列號:


<Window.Resources>

    <Style x:Key="styleWithPlusSign" TargetType="Path">

        <Style.Triggers>

            <Trigger Property="Grid.Column" Value="0">

                <Setter  Property="Path.Data" Value="M 5,95 L 95,95 50,5 5,95"></Setter>

            </Trigger>

            <Trigger Property="Grid.Column" Value="1">

                <Setter Property="Path.Data" Value="M 50,10 L 50,10 L 50,90 M 10,50 L 90,50"></Setter>

            </Trigger>

        </Style.Triggers>

    </Style>

</Window.Resources>

http://img1.sycdn.imooc.com//637c83d70001deca06010331.jpg

查看完整回答
反對 回復(fù) 2022-11-22
  • 1 回答
  • 0 關(guān)注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號