Ответы пользователя по тегу WPF
  • Почему не работает Binding?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Наверху {Binding Path=Dat1}, внизу {Binding Path=Dt1}. Опечатка - не хватает символа a.

    При запуске программы в студии в окне Output часто выводятся диагностические сообщения, и подобные ошибки там выводятся.
    Ответ написан
    7 комментариев
  • При выполнении обрезаются края окна в WPF. В чем тут проблема?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Не могу у себя проверить, у меня всё видно хорошо (у меня Win7).

    Попробуйте убрать все настройки внешнего вида. Будет ли нормально видно?
    <StackPanel>
        <Label Visibility="Collapsed" Content="Неверные данные авторизации" HorizontalAlignment="Center" Margin="10,7,10,0" Width="Auto" Foreground="Red"/>
        <Label Content="Логин:"/>
        <TextBox x:Name="loginTxt" TextWrapping="NoWrap"/>
        <Label Content="Пароль:"/>
        <PasswordBox x:Name="passwordTxt"/>
        <Button Content="Войти"/>
    </StackPanel>

    Если не изменится, то уберите атрибуты в Window.
    Если заработало, то постепенно возвращайте атрибуты в элементы. Или установите общий стиль для всех элементов сразу, чтобы для всех элементов стали одинаковые стили:
    <Window.Resources>
        <Style x:Key="CommonStyle" TargetType="Control">
            <Setter Property="Margin" Value="5" />
            <Setter Property="Padding" Value="5" />
            <Setter Property="FontSize" Value="16"/>
            <Setter Property="Width" Value="150"/>
        </Style>
        <Style TargetType="Label" BasedOn="{StaticResource CommonStyle}"/>
        <Style TargetType="TextBox" BasedOn="{StaticResource CommonStyle}"/>
        <Style TargetType="PasswordBox" BasedOn="{StaticResource CommonStyle}"/>
        <Style TargetType="Button" BasedOn="{StaticResource CommonStyle}"/>
    </Window.Resources>
    Ответ написан
    3 комментария
  • Не могу вызвать private C#?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Во-первых, приводите текст ошибки, чтобы мы могли вам помочь.
    А во-вторых, в методе test1() не хватает точки с запятой в третьей строчке.
    Ответ написан
    Комментировать
  • Windows Presentation Foundation мертв?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Ваши данные устарели. Ещё два года назад были об этом разговоры, но сейчас WPF жив и здравствует. Несколько лет назад Microsoft развивала ASP.NET и UWP, ресурсов на развитие WPF не хватало (в принципе, и так был достаточно развит). Но вот в 2014 году появилось обновление WPF (на хабре 1 и 2). И в дальнейшем тоже будет развиваться. Microsoft всё ещё делают ставку именно на WPF, никаких других технологий на смену нет (если не считать UWP, но они далеко не полностью пересекаются).

    Проблемы в WPF есть, конечно же, есть куда расти. Но это был гигантский шаг вперёд после WinForms. А то, что некоторых вещей нет "в коробке", но есть в NuGet - так берите и пользуйтесь! WPF дал удобную платформу, на которой легко добавить то, чего нет.
    Ответ написан
    3 комментария
  • Как по требованию обновлять ListBox (WPF)?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Во-первых, лучше использовать ItemsSource, а не DataContext. А во-вторых, вместо List взять ObservableCollection.
    Ответ написан
    3 комментария
  • Как развиваться новичку в c# и направлении разработки приложений под win?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Недавно я отвечал на другой вопрос: Программа «Информационное окно» для компьютеров в локальной сети?, почитайте, что я отвечал.

    Возьмите маленькую задачку, и постарайтесь не просто сделать программу, но сделать правильно, используя различные технологии разработки. Для начала сделайте программку, которую можно сделать за недельку, потому что нанопрограммки за день вас уже не научат сильно.
    Сделайте пару UserControl-ов - вы научитесь разделять большую программу на маленькие части.
    Код этих юзер-контролов используйте с помощью вьюмодели, не пишите код в xaml.cs-файле.
    Освойте свойства зависимости - что это такое, и когда они нужны, а когда можно и без них. Без них сделать хороший юзер-контрол не получится.
    Создавайте события для связи между разными юзер-контролами, если по другому не обойтись.
    Используйте LINQ.
    Установите Resharper (бесплатный EAP).
    Используйте Git, даже для своего минипроекта. Научитесь разделять задачу на подзадачи, и каждую подзадачу комитьте. (Вполне нормально делать несколько коммитов в день)
    Читайте книги, статьи. Каждый день читайте хабрахабр.
    Ни дня без строчки кода :) Есть только один способ стать хорошим программистом - много писать кода.

    Мой ответ получился не про то, что делать прямо сейчас, а про то, как развиваться дальше. Многие из советов относятся не к разработке Win-приложений, и даже не к C#. Но уже через полгода вы станете заметно лучшим программистом.
    Если вы не знаете, какую задачу начать сделать - спросите, подскажем.
    Ответ написан
  • C# WPF нажатие кнопки при нажатии enter?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    У кнопки есть свойство IsDefault. Поставьте туда истину.
    Ответ написан
    4 комментария
  • Как сделать чтобы при нажатии на кнопку событие click генерировалось только для нее?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Можно попробовать разделить кнопки. Grid очень легко позволяет отобразить один элемент поверх другого. Или у вас по бизнес-логике ToggleButton обязательно должен быть внутри Button?
    Ответ написан
    Комментировать