Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – WPF Programátorská kaklulačka - Design a CodeBehind

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na ostrozan
Neaktivní uživatel:23.5.2018 18:45

To jsem taky dělal.

Odpovědět
23.5.2018 18:45
Neaktivní uživatelský účet
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
ostrozan:23.5.2018 18:54

V tom případě ti nepomůžu - zkus možná založit vlákno na toto téma, třeba se s tím problémem někdo setkal i v jiných aplikacích.

Možná ještě sem dej (nebo pošli na PM) tvůj kompletni xaml kód - zkusím to u sebe

 
Odpovědět
23.5.2018 18:54
Avatar
Neaktivní uživatel:23.5.2018 18:55
<Window x:Class="DecHexBinCalculator.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:DecHexBinCalculator"
        mc:Ignorable="d"
        Title="DecHexBinCalculator" Height="160" WindowStyle="None" Background="Black" Foreground="#ffd0d0d0" FontSize="11" Topmost="True" WindowStartupLocation="CenterScreen" KeyDown="Window_KeyDown" MouseLeftButtonDown="Window_MouseLeftButtonDown">
        <Grid Margin="5">
                <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <TextBlock Text="DEC"/>
                <TextBlock Text="HEX" Grid.Column="1"/>
                <TextBlock Text="BIN" Grid.Column="2"/>
                <TextBox Grid.Row="1" Grid.Column="0" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="0" TextChanged="TextBox_TextChanged" PreviewTextInput="DecTbx_PreviewTextInput"/>
                <TextBox Grid.Row="1" Grid.Column="1" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="2" TextChanged="TextBox_TextChanged" PreviewTextInput="HexTbx_PreviewTextInput"/>
                <TextBox Grid.Row="1" Grid.Column="2" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="4" TextChanged="TextBox_TextChanged" PreviewTextInput="BinTbx_PreviewTextInput"/>
                <StackPanel Grid.Row="2" Grid.ColumnSpan="3" Margin="0,5" Orientation="Horizontal" HorizontalAlignment="Center">
                        <ComboBox Margin="10,0" Background="#ff3f3f3f" Foreground="#d0d0d0" HorizontalAlignment="Center" SelectedIndex="0">
                                <ComboBoxItem Content="+"/>
                                <ComboBoxItem Content="-"/>
                                <ComboBoxItem Content="*"/>
                                <ComboBoxItem Content="/"/>
                                <ComboBoxItem Content="^"/>
                                <ComboBoxItem Content="√"/>
                                <ComboBoxItem Content="%"/>
                                <ComboBoxItem Content="&amp;"/>
                                <ComboBoxItem Content="|"/>
                                <ComboBoxItem Content="~"/>
                                <ComboBoxItem Content="&lt;&lt;"/>
                                <ComboBoxItem Content="&gt;&gt;"/>
                        </ComboBox>
                        <ComboBox Margin="10,0" Background="#ff3f3f3f" Foreground="#d0d0d0" HorizontalAlignment="Center" SelectedIndex="0">
                                <ComboBoxItem Content="Byte"/>
                                <ComboBoxItem Content="SByte"/>
                                <ComboBoxItem Content="Ushort"/>
                                <ComboBoxItem Content="Short"/>
                                <ComboBoxItem Content="UInt"/>
                                <ComboBoxItem Content="Int"/>
                                <ComboBoxItem Content="ULong"/>
                                <ComboBoxItem Content="Long"/>
                        </ComboBox>
                </StackPanel>
                <TextBox Grid.Row="3" Grid.Column="0" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="1" TextChanged="TextBox_TextChanged" PreviewTextInput="DecTbx_PreviewTextInput"/>
                <TextBox Grid.Row="3" Grid.Column="1" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="3" TextChanged="TextBox_TextChanged" PreviewTextInput="HexTbx_PreviewTextInput"/>
                <TextBox Grid.Row="3" Grid.Column="2" MinWidth="30" Text="0" Background="#ff3f3f3f" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" TabIndex="5" TextChanged="TextBox_TextChanged" PreviewTextInput="BinTbx_PreviewTextInput"/>
                <Rectangle Fill="#4f4f4f" Margin="5" Grid.Row="4" Grid.ColumnSpan="3" Height="5"/>
                <TextBox Grid.Row="5" Grid.Column="0" MinWidth="30" Text="0" Background="#ff202020" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" Focusable="False"/>
                <TextBox Grid.Row="5" Grid.Column="1" MinWidth="30" Text="0" Background="#ff202020" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" Focusable="False"/>
                <TextBox Grid.Row="5" Grid.Column="2" MinWidth="30" Text="0" Background="#ff202020" Foreground="#ffd0d0d0" TextAlignment="Right" Margin="5,0" Focusable="False"/>
                <Button Name="MinimizeButton" Content="____" Grid.Row="6" Height="20" Width="20" Margin="0,5" Click="MinimizeButton_Click"/>
                <Button Name="HelpButton" Content="?" Grid.Row="6" Grid.Column="1" Height="20" Width="20" Margin="0,5" Click="HelpButton_Click"/>
                <Button Name="CloseButton" Content="X" Grid.Row="6"  Grid.Column="2" Height="20" Width="20" Margin="0,5" Click="CloseButton_Click"/>
        </Grid>
</Window>

A co myslíš tím PM? Sorry, vážně moc neovládám zkratky.

Odpovědět
23.5.2018 18:55
Neaktivní uživatelský účet
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:23.5.2018 19:38

PM - personal message - osobní zprávy - když klikneš na můj profil , tak tam někde bude "odeslat zprávu"

koukám, žes dělal více změn, tak ještě pošli MainWindow.xaml.cs - nejde mi to zkompilovat

 
Odpovědět
23.5.2018 19:38
Avatar
Neaktivní uživatel:24.5.2018 7:40
namespace DecHexBinCalculator {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window {
                public MainWindow() {
                        InitializeComponent();
                }
                private void TextBox_TextChanged(object sender,TextChangedEventArgs e) {
                        TextBox tb = sender as TextBox;
                        string s = tb.Text;
                        tb.CaretIndex = tb.Text.Length;
                        if (tb.IsFocused) {
                                if (s != "") {
                                        try { Prevody.Prevod(s, (byte)tb.TabIndex); } catch (Exception ex) { MessageBox.Show(ex.Message); }
                                }
                                /*Vypocty.Result = 0;
                                ShowResult();
                                ViewDec();
                                ViewHex();
                                ViewBin();
                        } else {
                                if (tb.TabIndex % 2 == 0) ClearA();
                                else ClearB();
                                ClearRes();*/
                        }
                }
                private void DecTbx_PreviewTextInput(object sender, TextCompositionEventArgs e) {
                        if (!char.IsDigit(e.Text, 0)) e.Handled = true;
                }
                private void HexTbx_PreviewTextInput(object sender, TextCompositionEventArgs e) {
                        string hexValue = "0123456789ABCDEFabcdef";
                        if (!hexValue.Contains(e.Text)) e.Handled = true;
                }
                private void BinTbx_PreviewTextInput(object sender, TextCompositionEventArgs e) {
                        string binValue = "01";
                        if (!binValue.Contains(e.Text)) e.Handled = true;
                }
                private void Window_KeyDown(object sender, KeyEventArgs e) {
                        /*if (e.Key == Key.Enter) {
                                try {
                                        Vypocty.Vypocet();
                                        ShowResult();
                                } catch (Exception ex) {
                                        MessageBox.Show(ex.Message);
                                }
                        } else if (e.Key == Key.Escape) {
                                ClearAll();
                        }*/
                }
                private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
                {
                        while (Mouse.LeftButton == MouseButtonState.Pressed) DragMove();
                }
                private void MinimizeButton_Click(object sender, RoutedEventArgs e) {
                        this.WindowState = WindowState.Minimized;
                }
                private void HelpButton_Click(object sender, RoutedEventArgs e) {
                        //WindowHelp.Show();
                }
                private void CloseButton_Click(object sender, RoutedEventArgs e) {
                        this.Close();
                }
        }
}

Ještě to není dodělané, ale to vidíš sám. A mohl bys mi ještě vysvětlit ty operátory od &?

Odpovědět
24.5.2018 7:40
Neaktivní uživatelský účet
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
ostrozan:24.5.2018 15:00

Takže - problém se šířkou okna vyřešíš nastavením vlastnosti SizeToContent na Width
a k té další otázce:
(nejen) vXAMLu jsou některé znaky zakázané používat ve své podobě (např. <,>,&) a když je chceš použít, tak je musíš zadat speciálním způsobem - tzv odescapovat

 
Odpovědět
24.5.2018 15:00
Avatar
Odpovídá na ostrozan
Neaktivní uživatel:24.5.2018 15:09
  1. Díky.
  2. Ano, tohle vím, ptal jsem se na funkci těch operátorů v C#. Tenhle řádek
List<string> operatory = new List<string>() { "+", "-", "x", "/", "%", "&", "|", "^", "~", "<<", ">>" };

co máš v kódu nahoře, konkrétně tuto část

{ "&", "|", "^", "~", "<<", ">>" };

tak, jak ji máš použitou ve 2. části tutoriálu.

Odpovědět
24.5.2018 15:09
Neaktivní uživatelský účet
Avatar
ostrozan
Tvůrce
Avatar
ostrozan:24.5.2018 15:37

Jo ták :)

to jsou logické operátory a operátory pro bitové operace (and,or,xor,ne­gace,posun vlevo,posun vpravo)

 
Odpovědět
24.5.2018 15:37
Avatar
Odpovídá na ostrozan
Neaktivní uživatel:24.5.2018 16:24

Díky, snad už to chápu. :-)

Odpovědět
24.5.2018 16:24
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 29.