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;

SQL Joins

Как же так тут до сих пор нет этой картинки! Срочно исправляю.

Дерево Пифагора

С Википедии

<html> 
<head>
  <title>Дерево Пифагора</title>
  <script type="text/javascript">
    // функция рисует под углом angle линию из указанной точки длиной ln
    function drawLine(x, y, ln, angle)
    {
      context.moveTo(x, y);
      context.lineTo(Math.round(x + ln * Math.cos(angle)), Math.round(y - ln * Math.sin(angle)));
    }
    // Функция рисует дерево
    function drawTree(x, y, ln, minLn, angle)
    {
      if (ln > minLn)
      {
        ln = ln * 0.75;
        drawLine(x, y, ln, angle);
        x = Math.round(x + ln * Math.cos(angle));
        y = Math.round(y - ln * Math.sin(angle));
        drawTree(x, y, ln, minLn, angle + Math.PI / 4);
        drawTree(x, y, ln, minLn, angle - Math.PI / 6);
        // если поставить угол Math.PI/4 , то выйдет классическое дерево
      }
    }
    // Инициализация переменных
    function init()
    {
      var canvas  = document.getElementById("tree");
      var x       = 100 + (canvas.width / 2);
      var y       = 170 + canvas.height;  // положении ствола
      var ln      = 120;                  // начальная длина линии
      var minLn   = 5;                    // минимальная длина линии
 
      canvas.width  = 480; // Ширина холста
      canvas.height = 320; // высота холста
 
      context             = canvas.getContext("2d");
      context.fillStyle   = "#ddf"; // цвет фона
      context.strokeStyle = "#020"; //цвет линий
      context.fillRect(0, 0, canvas.width, canvas.height);
      context.lineWidth = 2; // ширина линий
      context.beginPath();
      drawTree(x, y, ln, minLn, Math.PI / 2);
      context.stroke();
    }
 
    window.onload = init;
  </script>
</head>
<body>
  <canvas id="tree"></canvas>
</body> 
</html>

hgignore

Для .Net

syntax: glob
bin/**
*.suo
obj/**
*.orig
*.user
*.rej
Bin/**

Учебники 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/

RSS-читалка

С запросом к серверу и использованием XSL-трансформации для преобразования в HTML
http://www.vr-online.ru/content/rss-chitalka-na-c-svoimi-rukami-4683

С классами для узлов XML
http://devoid.com.ua/csharp/win-forms/sozdanie_svoego_rss_reader_na_csharp.html

Из этого же блога:
Автозапуск программы в C#
http://devoid.com.ua/csharp/win-forms/autorun-program-in-csharp.html

Создание собственной RSS ленты (на PHP)
http://devoid.com.ua/php/php-beginners/sozdanije-sobstvennoj-rss-lenti.html

И еще раз о ридерах, с этим примером не особенно разбиралась
http://www.codeproject.com/Articles/19924/Simple-RSS-Reader-in-C

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

Запуск стороннего приложения

using System.Diagnostics;
 
Process.Start("IExplore.exe", "http://infobase.athn.ru/");

Блог давно не ведется, но ссылка пусть будет.
http://alex-comments.blogspot.ru/2011/02/wpf_13.html

Открыть страничку в браузере, установленном по умолчанию

System.Diagnostics.Process.Start("http://infobase.athn.ru/");

Таймер

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

Сравнение объектов в списках

Задача: есть два списка объектов одного типа. Объекты могут повторяться. Нужно взять из второго списка только те объекты, которых нет в первом.

var newArticles = allArticles.Except(oldArticles, new ArticleEqualityComparer());

ArticleEqualityComparer реализован по примеру с MSDN:
http://msdn.microsoft.com/ru-ru/library/ms132151.aspx

class BoxEqualityComparer : IEqualityComparer<box>
{
 
    public bool Equals(Box b1, Box b2)
    {
        if (b1.Height == b2.Height & b1.Length == b2.Length
                            & b1.Width == b2.Width)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
 
 
    public int GetHashCode(Box bx)
    {
        int hCode = bx.Height ^ bx.Length ^ bx.Width;
        return hCode.GetHashCode();
    }
 
}</box>

Читать далее »

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

Страница 10 из 15« Первая...89101112...Последняя »