Pregunta

Tengo un control WPF, que tiene una lista de " Inversores " ;, y en la columna derecha de la lista, " Delete " botón.

O bien podría perder el tiempo haciendo una imagen de " x " en photoshop. O bien, podría usar la fuente Wingdings y establecer el contenido en " & # 213; " (lo que hace que un botón de borrado se vea bien).

¿Es esto apropiado? Mi pensamiento es ... aunque no todas las familias de fuentes están en todas las computadoras, estoy bastante seguro de que es seguro decir que si está ejecutando mi programa WPF Windows Forms, entonces tiene Wingdings.

¿Qué piensas? Por favor, trate de dar estadísticas (no solo sentimientos) sobre el asunto. ¿Debo preocuparme por el tamaño de fuente? etc.

¿Fue útil?

Solución

Honestamente, si estás usando WPF, probablemente sea igual de fácil usar una ruta para hacer una '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>

Simplemente aplique este estilo a un botón y obtendrá un instante " eliminar " botón!

Otros consejos

Suponiendo que puedes mostrar Unicode, hay muchos glifos en muchas fuentes para lo que intentas hacer.

Por ejemplo, este es un carácter Unicode en (probablemente) Arial: ?

Tomé la referencia de caracteres de http://www1.tip.nl/~t876506 /UnicodeDisplay.html pero estoy seguro de que hay mejores lugares para descubrir que este

Lo siento, pero no puedo pensar en nada que haga que una aplicación se vea más aficionada que el uso de los personajes con alas para los controles.

Creo que deberías estar bien, especialmente con WPF. No sé si la fuente Wingdings en particular está en todas las máquinas con Windows (probablemente sí), pero sí sé que los caracteres de la fuente Marlett se usan en la interfaz de usuario de Win XP.

Creo que esa buena solución sería tomar los glifos que te gustan de Wingdings y convertirlos en formas WPF, como recursos de tu aplicación. Esto agregará solo unos pocos KB a su aplicación y no dependerá de Wingdings.

La mayor parte del problema se olvidó de agregar el tamaño de byte.

En C # (Winform) uso:

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

Así que puedo:

myTextBoxt.Font = wingdings2;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top