WPF de arayüzü XMAL kısmından kodluyoruz ve xmal.cs kısmından da CodeBehind tarafını C# ile kodluyoruz. Bu kodlamaları yaparken bir elemente ulaşmak için x:Name kodunu kullarak nesnelere isim veriyoruz.
Ardından butonlar için de Click=”OlayAdi” şeklinde isimlendirme yaparak Click eventları oluşturuyoruz.

<Window x:Class="WPFGiris.D3.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:WPFGiris.D3" mc:Ignorable="d" Title="Hesap Makinesi" Height="525" Width="350"> <Grid Margin="10"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="2*"/> <RowDefinition Height="*"/> <RowDefinition Height="*"/> <RowDefinition Height="*"/> <RowDefinition Height="*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Label x:Name="resultLabel" Content="0" Grid.ColumnSpan="4" HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="60"/> <Button x:Name="acButton" Click="AcButton_Click" Content="AC" Grid.Row="1" Margin="5"/> <Button x:Name="negativeButton" Click="NegativeButton_Click" Content="+/1" Grid.Row="1" Grid.Column="1" Margin="5"/> <Button x:Name="percentageButton" Click="PercentageButton_Click" Content="%" Grid.Row="1" Grid.Column="2" Margin="5"/> <Button x:Name="divisionButton" Content="/" Grid.Row="1" Grid.Column="3" Margin="5"/> <Button x:Name="sevenButton" Click="SevenButton_Click" Content="7" Grid.Row="2" Grid.Column="0" Margin="5"/> <Button x:Name="eightButton" Click="EightButton_Click" Content="8" Grid.Row="2" Grid.Column="1" Margin="5"/> <Button x:Name="nineButton" Click="NineButton_Click" Content="9" Grid.Row="2" Grid.Column="2" Margin="5"/> <Button x:Name="multiplicationButton" Content="*" Grid.Row="2" Grid.Column="3" Margin="5"/> <Button x:Name="fourButton" Click="FourButton_Click" Content="4" Grid.Row="3" Grid.Column="0" Margin="5"/> <Button x:Name="fiveButton" Click="FiveButton_Click" Content="5" Grid.Row="3" Grid.Column="1" Margin="5"/> <Button x:Name="sixButton" Click="SixButton_Click" Content="6" Grid.Row="3" Grid.Column="2" Margin="5"/> <Button x:Name="substractionButton" Content="-" Grid.Row="3" Grid.Column="3" Margin="5"/> <Button x:Name="oneButton" Click="OneButton_Click" Content="1" Grid.Row="4" Grid.Column="0" Margin="5"/> <Button x:Name="twoButton" Click="TwoButton_Click" Content="2" Grid.Row="4" Grid.Column="1" Margin="5"/> <Button x:Name="threeButton" Click="ThreeButton_Click" Content="3" Grid.Row="4" Grid.Column="2" Margin="5"/> <Button x:Name="sumButton" Click="SumButton_Click" Content="+" Grid.Row="4" Grid.Column="3" Margin="5"/> <Button x:Name="zeroButton" Click="ZeroButton_Click" Content="0" Grid.Row="5" Grid.ColumnSpan="2" Margin="5"/> <Button x:Name="dotButton" Content="." Grid.Row="5" Grid.Column="2" Margin="5"/> <Button x:Name="equalButton" Click="EqualButton_Click" Content="=" Grid.Row="5" Grid.Column="3" Margin="5"/> </Grid> </Window>
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 WPFGiris.D3 { /// <summary> /// MainWindow.xaml etkileşim mantığı /// </summary> public partial class MainWindow : Window { double lastNumber,result; public MainWindow() { InitializeComponent(); //resultLabel.Content = "0"; //uygulama yüklenirken ilk atadığımız sayı... istersek başka sayı verebiliriz. acButton.Click += AcButton_Click; //AcButton_Click olayını çalıştırır // negativeButton.Click += NegativeButton_Click; Gerek yok. percentageButton.Click += PercentageButton_Click; equalButton.Click += EqualButton_Click; } private void SevenButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "7"; //0 ise 0 yerine 7 değerini atarız }else { resultLabel.Content = $"{resultLabel.Content}7"; //sıfır değil ise var olan metnin sonuna atama yaparız. // resultLabel.Content += "7"; bu şekilde de aynı sonuca varabilirsiniz. } } private void EightButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "8"; } else { resultLabel.Content = $"{resultLabel.Content}8"; } } private void NineButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "9"; } else { resultLabel.Content = $"{resultLabel.Content}9"; } } private void FourButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "4"; } else { resultLabel.Content = $"{resultLabel.Content}4"; } } private void FiveButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "5"; } else { resultLabel.Content = $"{resultLabel.Content}5"; } } private void SixButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "6"; } else { resultLabel.Content = $"{resultLabel.Content}6"; } } private void OneButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "1"; } else { resultLabel.Content = $"{resultLabel.Content}1"; } } private void TwoButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "2"; } else { resultLabel.Content = $"{resultLabel.Content}2"; } } private void ThreeButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "3"; } else { resultLabel.Content = $"{resultLabel.Content}3"; } } private void SumButton_Click(object sender, RoutedEventArgs e) { } private void ZeroButton_Click(object sender, RoutedEventArgs e) { if (resultLabel.Content.ToString() == "0") { resultLabel.Content = "0"; } else { resultLabel.Content = $"{resultLabel.Content}0"; } } private void AcButton_Click(object sender, RoutedEventArgs e) { resultLabel.Content = "0"; } private void PercentageButton_Click(object sender, RoutedEventArgs e) { if (double.TryParse(resultLabel.Content.ToString(), out lastNumber)) { lastNumber = lastNumber / 100; resultLabel.Content = lastNumber.ToString(); } } private void EqualButton_Click(object sender, RoutedEventArgs e) { } private void NegativeButton_Click(object sender, RoutedEventArgs e) { if(double.TryParse(resultLabel.Content.ToString(), out lastNumber)) { lastNumber = lastNumber * (-1); resultLabel.Content = lastNumber.ToString(); } } } }
Bir cevap yazın