8

「投資家」のリストがあり、リストの右側の列に「削除」ボタンがあるWPFコントロールがあります。

フォトショップで「x」の画像を作成するのに時間を費やすこともできます。または、Wingdings フォントを使用してコンテンツを「Õ」に設定することもできます (これにより、見栄えの良い削除ボタンが作成されます)。

これは適切ですか?私の考えでは... すべてのフォント ファミリがすべてのコンピューターに搭載されているわけではありませんが、私の WPF Windows フォーム プログラムを実行している場合は、Wingdings があると言っても過言ではありません。

どう思いますか?この件について(感情だけでなく)統計を出してみてください. フォントサイズを気にする必要がありますか?等

4

6 に答える 6

15

正直なところ、WPF を使用している場合は、パスを使用して「x」形状を作成するのと同じくらい簡単です。

    <Style x:Key="DeleteButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalAlignment" Value="Stretch"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Cursor" Value="Hand"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Path Name="Circle" Data="F1 M 0 7.5 A 7.5 7.5 0 1 1 15 7.5 A 7.5 7.5 0 1 1 0 7.5"/>
                        <Path Fill="White" Data="F1 M 7.5 6 L 10.5,3 12,4.5 9,7.5 12,10.5 10.5,12 7.5,9 4.5,12 3,10.5 6,7.5 3,4.5 4.5,3 Z"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Fill" TargetName="Circle" Value="SlateGray"/>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="False">
                            <Setter Property="Fill" TargetName="Circle" Value="DarkGray"/>
                        </Trigger>
                        <DataTrigger Binding="{Binding}" Value="{x:Null}">
                            <Setter Property="Visibility" Value="Hidden"/>
                        </DataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ToolTip" Value="Delete This Item"/>
    </Style>

このスタイルをボタンに適用するだけで、すぐに「削除」ボタンを取得できます!

于 2008-10-31T13:25:08.370 に答える
4

特にWPFでは問題ないと思います。特に Wingdings フォントがすべての Windows マシンにあるかどうかはわかりませんが (おそらくそうです)、Marlett フォントの文字が Win XP UI で使用されていることは知っています。

于 2008-10-31T13:34:03.843 に答える
3

あなたが Unicode を表示できると仮定すると、あなたがしようとしていることに対して、多くのフォントにたくさんのグリフがあります。

たとえば、これは (おそらく) Arial の Unicode 文字です: ✖</p>

http://www1.tip.nl/~t876506/UnicodeDisplay.htmlから文字リファレンスを取得しましたが、これよりも見つけやすい場所があると確信しています

于 2008-10-31T13:27:57.147 に答える
3

申し訳ありませんが、コントロールにウイング文字を使用することほど、アプリケーションをアマチュアっぽく見せる方法は思いつきません。

于 2008-10-31T13:28:27.317 に答える
2

良い解決策は、Wingdingsから好きなグリフを取得し、それらをアプリのリソースとしてWPFシェイプに変換することだと思います。これにより、アプリにわずか数kBが追加され、Wingdingsに依存することはありません。

于 2009-05-12T12:20:32.107 に答える
0

問題のほとんどは、バイト サイズを追加するのを忘れていました。

C# (Winform) では、次を使用します。

static Font wingdings2 = new Font("Wingdings 2", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(2)));

だから私はできる:

myTextBoxt.Font = wingdings2;
于 2009-12-30T19:28:08.787 に答える