Categoria: Programação

Utilizando controlos do Extended WPF Toolkit™ Community Edition

Por vezes os controlos padrão disponibilizados para criar a nossa aplicação WPF não correspondem integralmente às nossas necessidades.

Uma primeira alternativa consiste em criar controlos personalizados, o que pode ser uma tarefa complexa para os menos experientes.

A segunda, mais simples, consiste em recorrer a bibliotecas e ferramentas adicionais, como é o caso da que vamos utilizar aqui.

A título de exemplo, vamos supor que desejamos utilizar uma TextBox para ler matrículas de automóveis posteriores a 2007.

Continue a ler “Utilizando controlos do Extended WPF Toolkit™ Community Edition”

Slideshow Manual usando C# e WPF

Este exemplo é muito simples e apenas me serviu para testar:

  • carregar imagens para um controlo Image que se encontram organizadas num ResouceDictionary;
  • Selecionar as imagens mediante a utilização de dois botões “anterior” e “seguinte“;
  • Associar uma ação ao botão central, no qual está a ser exibida a imagem, que será diferente dependendo da imagem selecionada.

Continue a ler “Slideshow Manual usando C# e WPF”

WPF DropShadowEffect

Uma forma muito simples de aplicar uma sombra a um controlo consiste em utilizar o efeito “DropShadowEffect“.

Este, tal como o “BlurEffect“, vem pré-definido na Framework .NET, sendo muito simples a sua utilização.

<Grid HorizontalAlignment="Center" VerticalAlignment="Center" >
    <StackPanel Orientation="Vertical">
        <Label Content="Efeito Sombra (DropShadowEffect)" FontFamily="Cooper Black" FontSize="50" Foreground="#AA000000" HorizontalAlignment="Center" Margin="10">
            <Label.Effect>
                <DropShadowEffect/>
            </Label.Effect>
        </Label>
        <Button HorizontalAlignment="Center" VerticalAlignment="Center" Content="Botão Com Sombra" Foreground="#FF000000" FontFamily="Cooper Black" FontSize="40" Margin="10" Padding="10"  >
            <Button.Effect>
                <DropShadowEffect />
            </Button.Effect>
        </Button>
    </StackPanel>
</Grid>

Recorrendo ao Blend podemos ter ainda mais efeitos disponíveis, mas estaremos a aumentar a complexidade.

Boas formatações!

Fonte: https://wpf.2000things.com/tag/dropshadoweffect/

WPF Yes/No MessageBox – “O Trump tem um penteado estranho?”

O exemplo seguinte demonstra como usar uma MessageBox para confirmar um determinada operação, como por exemplo, decidir se vamos eliminar definitivamente um registo numa base de dados, ou não.

Neste caso vamos apenas questionar o estilo capilar do mais recente Presidente dos USA.

Ao pressionar o botão surge a pergunta:

Se responder sim faz algo … neste caso chama outra MessageBox:

Caso contrário, também merecemos uma resposta … neste caso:

O código é muito simples:

using System.Windows;

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

        private void button_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Tem a certeza?", "O Trump tem um penteado estranho.", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                MessageBox.Show("Pois tem.");
            }
            else
            {
                MessageBox.Show("Ai isso é que tem!");
            }
        }
    }
}

O exemplo pode ser descarregado aqui: https://app.box.com/s/pg6s6m6thi9nz83jz87v6lufh3uwxjfp

Ler mais informações acerca da classe MessageBox.

Como carregar num botão da interface recorrendo à programação (C# WPF)

Carregar num botão de uma interface gráfica é tão simples como pegar no rato e fazer um clique sobre o mesmo!

Mas vamos supor que queremos clicar noutro botão (B2) que, após a execução de uma tarefa, exige que um segundo botão seja também clicado(B1).

exemplobotaoNeste exemplo, sempre que um botão é pressionado, o seu contador é incrementado. Continue a ler “Como carregar num botão da interface recorrendo à programação (C# WPF)”

Controlando vários botões com o mesmo evento numa aplicação C# WPF

Já tinha abordado este assunto no passado a respeito da criação do Jogo do Galo escrito em C++/Qt (ver aqui).

A ideia consiste em controlar vários botões com um único evento, como por exemplo num teclado numérico que serve para introduzir códigos de até seis algarismos.

mykeyboard

Continue a ler “Controlando vários botões com o mesmo evento numa aplicação C# WPF”

Manipulação de imagens associadas a um “Image Control” – Ficheiro> source>MySQL

trio3

Com este exemplo pretendo demonstrar algumas formas de manipular imagens no contexto de uma aplicação escrita na linguagem C# (WPF). Para o efeito vamos considerar a imagem quando armazenada num ficheiro de disco, a imagem carregada para o controlo Image e a imagem quando armazenada numa base de dados (MySQL).

Por uma questão de simplificação apenas vou considerar o formato JPEG.

Em síntese, com a aplicação aqui apresentada, pretendo dar resposta às seguintes questões:

  • Como carregar a imagem de um Resource Dictionary para um controlo Image?
  • Como carregar uma imagem armazenada em disco para um controlo Image?
  • Como carregar os dados da base de dados para a DataGrid, sendo um dos campos do tipo BLOB?
  • Como inserir um registo na base de dados, sendo um dos campos do tipo imagem (Blob)?
  • Como copiar uma imagem do registo selecionada na DataGrid para outra imagem (área de preview)?
  • Como guardar em disco uma imagem exibida num controlo Image?
  • Como guardar em disco uma imagem exibida num campo de uma DataGrid?
  • Como copiar a imagem exibida num campo de uma DataGrid para um controlo Image?

O Código completo pode ser descarregado aqui. Continue a ler “Manipulação de imagens associadas a um “Image Control” – Ficheiro> source>MySQL”

Exemplo em C# WPF “semáforo”

semaforo

Contém:

  • ResourceDictionary com as imagens (png) a utilizar na aplicação.
  • Como mudar a image (Source) de um Image Control a partir de um Resource.Dictionary.

Descarregar exemplo: semaforo.zip

Código utilizado para carregar a imagem do botão a partir do resource:

semaforo.Source = (BitmapImage) Application.Current.Resources["semaforoVermelho"];