Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (13)

Лучшие ответы пользователя

Все ответы (12)
  • Как изучить c# с основ до зарабатывания денег?

    @Voucik
    Как по мне, то лучше всего сделать, как сказал ScorpLeX. Ибо сам так начинал, у меня было и высшее и програмить я мог (я так думал). Мне тоже советовали, посмотреть проекты на фрилансах, потренироваться. Но когда ты их выполняешь, то тебе кажется, что всё правильно, ты ведь сам оцениваешь их, а не крутой дядька программер. Начал искать работу, все хотят с опытом, не менее года, искал 2 месяца (ходил, звонил). Уже был готов бесплатно, работать, чтоб опыт хоть какой-то был (по форумам полазил, тоже так советовали). Ну и вдруг попал я джуниором в одну фирмочьку, где я понял, что ничего не знаю и большие дядьки мне обьяснили, что это не то, а это так. То есть дали направление, поделись опытом и т.д. Так что я считаю, что только работая, ты станешь программистом. И ты должен любить это дело, иначе ты не будешь программистом. И за деньгами не гонись, первое время будешь очень мало зарабатывать (т.к. джуниоры в Москве зарабатывают от 20 до 30) и если ты не любишь программирование (соответственно и не будешь развиваться), то ты и не станешь больше зарабатывать.
    А что учить?
    Если ты выбрал C#, то сейчас в моде MVC (всё же мир движется к вебу), WPF.
    Обязательно должен знать базы данных MS SQL и не просто знать, а хотяб уметь писать простенькие процедурки, запросики (т.е. не просто select, update, insert – этого мало).
    Паттерны изучай обязательно (без них ты не программист, а простой школьник)!!!
    Да в принципе тебя на работе направят, главное не упирайся и слушай дядей. Ты можешь чего-то не понимать и думать что это бред и не правильно. Но как вырастишь, поймёшь ))))
    Удачи.
    Ответ написан
  • Как правильно сделать привязку данных в wpf?

    @Voucik
    вот пример.
    WPF форма, где у нас два контрола: ComboBox - cmb и TextBox - tb
    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation">http://schemas.microsoft.com/winfx/2006/xaml/presentation</a>"
            xmlns:x="<a href="http://schemas.microsoft.com/winfx/2006/xaml">http://schemas.microsoft.com/winfx/2006/xaml</a>"
            xmlns:wpfApplication1="clr-namespace:WpfApplication1"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <ResourceDictionary>
                <wpfApplication1:ConverterNull x:Key="ConverterNull"/>
            </ResourceDictionary>
        </Window.Resources>
        <Grid>
            
            <Grid.RowDefinitions>
                <RowDefinition Height="30"></RowDefinition>
                <RowDefinition Height="5"></RowDefinition>
                <RowDefinition Height="30"></RowDefinition>
            </Grid.RowDefinitions>
    
            <ComboBox Name ="cmb" DisplayMemberPath="Value" SelectedValuePath = "id" ></ComboBox>
    
            <TextBox Name="tb" Grid.Row="2"  Text="{Binding ElementName=cmb, Path=SelectedItem.Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource ConverterNull}}"></TextBox>
        </Grid>
    </Window>

    DisplayMemberPath="Value" - то что будет отображаться (значение)
    SelectedValuePath = "id" - ключ

    Text="{Binding ElementName=cmb,
    Path=SelectedItem.Value - поле нашего объекта, значение которого будет присваиваться нашему tb
    ,Mode=TwoWay, - означает, привязка на read и write (при этом у поля, нашего объекта, должен быть открыт set )
    UpdateSourceTrigger=PropertyChanged - ну и фичя которая отвечает, за update данных
    ,Converter={StaticResource ConverterNull - а тут добавляем ещё конвертер, дабы у нас обрабатывались пустые значения.
    }}"

    Для этого надо добавить конвертер в ресурсы (как тут)
    <Window.Resources>
            <ResourceDictionary>
                <wpfApplication1:ConverterNull x:Key="ConverterNull"/>
            </ResourceDictionary>
        </Window.Resources>


    ну и путь указать к самому классу конвертера
    xmlns:wpfApplication1="clr-namespace:WpfApplication1"

    А теперь сам код.
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Windows;
    using System.Windows.Data;
    
    namespace WpfApplication1
    {
        public partial class MainWindow : Window
        {
            private List<Info> info;
            public MainWindow()
            {
                InitializeComponent();
                info = new List<Info>
                {
                    new Info("a"),
                    new Info("b"),
                    new Info("c")
                };
    
                cmb.ItemsSource = info;
            }
        }
    
        public class Info
        {
            public Guid id { get; private set; }
            public string Value { get; set; }
    
            public Info(String val)
            {
                id = Guid.NewGuid();
                Value = val;
            }
        }
    
        sealed class ConverterNull : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                return value;
            }
    
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                return value == null ? null : String.IsNullOrWhiteSpace(value.ToString()) ? null : value;
            }
        }
    }


    public class Info - наши данные
    sealed class ConverterNull : IValueConverter - конвертер
    присваиваем наши данные комбоБоксу cmb.ItemsSource = info;
    и всё.
    Ответ написан
  • Кто начинал программировать с 20-ти лет и старше?

    @Voucik
    Программирование надо любить. Ибо если тебе это нравится, то ты будешь этим заниматься, не взирая на возраст. А судя по твоей писанине, ты ищешь в этом просто выгоду (ну типо программисты круто зарабатываю). Иначе ты бы не задавал таких глупых вопросов, а изучал бы его и далее не обращая внимания на возраст.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (6)