C # изменить стили меток по требованию - PullRequest
0 голосов
/ 16 мая 2019

Я новичок в C #, поэтому я пытаюсь создать базовое приложение с помощью Visual Studio.Я хочу иметь возможность динамически изменять стиль метки, такой как размер, цвет, стиль, шрифт и т. Д. Это код, который я написал до сих пор, в котором, нажав кнопку, содержимое метки, а такжеего стиль должен измениться.

Это код XAML, с помощью которого я создал форму:

<Window x:Class="WpfApp1.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:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="232" Width="333">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="79*"/>
            <ColumnDefinition Width="9*"/>
        </Grid.ColumnDefinitions>
        <Button Content="Button" HorizontalAlignment="Left" Margin="73,99,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="0.533,-2.045" Click="onClick"/>
        <Label x:Name="label" Content="Regular" HorizontalAlignment="Left" Margin="201,95,0,0" VerticalAlignment="Top"/>

    </Grid>
</Window>

, и это код C #, чтобы заставить его работать.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApp1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        int counter = 0;
        private void onClick(object sender, RoutedEventArgs e)
        {
            counter += 1;
            if (counter % 2 == 0)
            {
                label.Content = "Regular";
                //label.FontStyle = ... (or something like that)
            }
            else
            {
                label.Content = "Italic";
                //label.FontStyle = ... (or something like that)
            }
        }
    }
}

Тем не менее, каждый пример, который я встречал, использует Font или Fontstyle, что не очень понятно, как их использовать.

Если бы кто-то мог прояснить, как работает стиль шрифта, это было бывысоко ценится.

PS: Тот же вопрос, касающийся изменения цвета.

...