Архивы: WPF

WPF Themes

Не совсем поняла, как их приделывать (по указанному способу стили почему-то применились только к контролам).

WPF Themes

http://wpf.codeplex.com/wikipage?title=WPF%20Themes&referringTitle=Home

WPF News Ticker

RSS и бегущая строка, красиво
http://www.jarloo.com/rumormill4/

WPF Бегущая строка

Вариант раз

Canvas x:Name="Canvas" Background="Transparent" Height="25"
                VerticalAlignment="Top">
            <TextBlock Margin="0,7,0,0" VerticalAlignment="Bottom" FontSize="15"  FontWeight="Bold" Foreground="#555"
                       Text="Тестовый текст" Canvas.Right="0">
                <TextBlock.Triggers>
                    <EventTrigger RoutedEvent="TextBlock.Loaded">
                        <EventTrigger.Actions>
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetProperty="(Canvas.Left)" From="1300" To="-750" 
                                                     Duration="0:0:15" RepeatBehavior="Forever"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger.Actions>
                    </EventTrigger>
                </TextBlock.Triggers>
            </TextBlock>
        </Canvas>

http://axedeos.blogspot.ru/2012/11/wpf.html

Вариант два, с заданием в коде и с паузой

<Window x:Class="TestCode.StopAnimationWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="TestCode"
    >
  <StackPanel>
    <Rectangle Name="rect" Height="100" Fill="Red" Stroke="Green" StrokeThickness="1" Width="5"/>
    <StackPanel Orientation="Horizontal">
      <Button Width="100" Height="30" Content="Start" Click="StartAnimation"/>
      <Button Width="100" Height="30" Content="Pause" Click="PauseAnimation"/>
      <Button Width="100" Height="30" Content="Resume" Click="ResumeAnimation"/>
      <Button Width="100" Height="30" Content="Stop" Click="StopAnimation"/>
    </StackPanel>
    </StackPanel>
</Window>
 
public partial class StopAnimationWindow : System.Windows.Window
{
    AnimationClock clock;
    public StopAnimationWindow()
    {
        InitializeComponent();
    }
 
    private void StartAnimation(Object sender, RoutedEventArgs e)
    {
        DoubleAnimation animation = new DoubleAnimation();
        animation.Duration = new Duration(TimeSpan.FromSeconds(5));
        animation.To = 500d;
        animation.From = 0d;
        clock = animation.CreateClock();
        rect.ApplyAnimationClock(Rectangle.WidthProperty, clock);
    }
 
    private void PauseAnimation(Object sender, RoutedEventArgs e)
    {
        clock.Controller.Pause();
    }
 
    private void ResumeAnimation(Object sender, RoutedEventArgs e)
    {
        clock.Controller.Resume();
    }
 
    private void StopAnimation(Object sender, RoutedEventArgs e)
    {
        clock.Controller.Stop();
    }
}

http://social.msdn.microsoft.com/Forums/vstudio/en-US/5eb35986-4666-43f4-9e88-e940bf464ff5/how-to-pause-animation

WPF set Margin

Thickness margin = MyControl.Margin;
margin.Left = 10;
MyControl.Margin = margin;

http://stackoverflow.com/questions/1003772/setting-margin-properties-in-code

WPF версия программы

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
 
Version version = assembly.GetName().Version;

Учебники MVC 4 и WPF

Пока читаю WPF, написано очень сжато и скорее всего не всё, но для быстрого старта нормально.

http://metanit.com/sharp/mvc/

http://metanit.com/sharp/wpf/

Цикл статей ASP.Net MVC на Хабре
http://habrahabr.ru/post/175999/

Непутевые заметки о ASP.NET MVC
http://habrahabr.ru/post/143024/

WPF NotifyIcon

Библиотека для отображения иконки в трее, всплывающих окошек и т.п. Можно устанавливать через NuGet.
http://www.hardcodet.net/projects/wpf-notifyicon
http://www.codeproject.com/Articles/36468/WPF-NotifyIcon

Найдено в этом обсуждении (Как свернуть окно в трей)
http://www.cyberforum.ru/wpf-silverlight/thread550534.html

Таймер

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();
 
 
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
  // code goes here
}

http://stackoverflow.com/questions/5410430/wpf-timer-like-c-sharp-timer

WPF чтение настроек из App.config

var dataFolder = System.Configuration.ConfigurationManager.AppSettings.Get("dataFolder");

Вот тут еще разные способы
http://stackoverflow.com/questions/806174/how-to-use-a-app-config-file-in-wpf-applications

WPF Numeric UpDown

Народ предлагает кастомные переключатели, еще не тестила.
http://stackoverflow.com/questions/841293/where-is-the-wpf-numeric-updown-control

WPF сохранение настроек в App.config

Два примера (почти как один), которые у меня почему-то не захотели работать (настройки по-прежнему сохраняются только в памяти). Буду разбираться.

Configuration oConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
oConfig.AppSettings.Settings["PreferenceToRemember"].Value = “NewValue”;
oConfig.Save(ConfigurationSaveMode.Full);
ConfigurationManager.RefreshSection(”appSettings”);

http://stackoverflow.com/questions/305529/how-to-update-appsettings-in-a-wpf-app

exePath = Path.Combine( exePath, "MyApp.exe" );
    Configuration config = ConfigurationManager.OpenExeConfiguration( exePath );
    var setting = config.AppSettings.Settings[SettingKey];
    if (setting != null)
    {
        setting.Value = newValue;
    }
    else
    {
        config.AppSettings.Settings.Add( SettingKey, newValue);
    }
 
    config.Save();

http://stackoverflow.com/questions/3638754/how-can-i-read-write-app-config-settings-at-runtime-without-using-user-settings