Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Manato Kameya Grabacr07

🏠
Working from home
View GitHub Profile
@Grabacr07
Grabacr07 / MainWindow.xaml
Created Aug 28, 2015
.NET Framework 4.5 だと動く。4.5.1 だと例外スローされる。
View MainWindow.xaml
<Window x:Class="WpfApplication38.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="200"
Height="100">
<TextBox Text="{Binding SampleText}" />
</Window>
@Grabacr07
Grabacr07 / MainWindowViewModel.cs
Created Aug 28, 2015
.NET Framework 4.5.1 以降でビルドする場合は CurrentMetricUnit と CurrentImperialUnit の set アクセサーは public にしてください
View MainWindowViewModel.cs
public class MainWindowViewModel : ViewModel
{
private double _metricValue, _imperialValue;
public ICommand ImperialUnitToMetric { get; private set; }
public ICommand MetricToImperialUnit { get; private set; }
public MetricUnit CurrentMetricUnit { get; set; }
public ImperialUnit CurrentImperialUnit { get; set; }
@Grabacr07
Grabacr07 / TimerBehavior.cs
Last active Aug 29, 2015
TextBlock をタイマーにするやつ。何も設定しなければ、1 秒ごとにアタッチ先 TextBlock.Text に現在時刻を設定する。Interval プロパティで更新頻度、Proc プロパティで更新時に TextBlock.Text に出力する内容を指定できる。
View TimerBehavior.cs
/// <summary>
/// <see cref="TextBlock"/> にタイマー機能を付与します。
/// </summary>
public class TimerBehavior : Behavior<TextBlock>
{
private DispatcherTimer timer;
#region Interval 依存関係プロパティ
/// <summary>
View ToggleButtonSample.xaml
<StackPanel x:Name="LayoutRoot"
Background="White">
<TextBlock FontFamily="Segoe UI Light">
<Run Text="ToggleButton Sample "
FontSize="20" />
<Run Text="(Silverlight)"
FontSize="16" />
</TextBlock>
@Grabacr07
Grabacr07 / ScrollBar.template.xaml
Last active Aug 29, 2015
ScrollBar の標準テンプレート (の抜粋)
View ScrollBar.template.xaml
<Grid x:Name="Bg"
SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}" />
<ColumnDefinition Width="0.00001*" />
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}" />
</Grid.ColumnDefinitions>
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
View RepeatButtonSample.xaml
<StackPanel x:Name="LayoutRoot"
Background="White">
<TextBlock FontFamily="Segoe UI Light">
<Run Text="RepeatButton Sample "
FontSize="20" />
<Run Text="(Silverlight)"
FontSize="16" />
</TextBlock>
<StackPanel Orientation="Horizontal">
View fswallow.cs
static class Extensions
{
public static IEnumerable<T[]> ふぁぼツバめそっど<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
var buffer = new List<T>();
foreach (var value in source)
{
if (predicate(value))
{
@Grabacr07
Grabacr07 / GetRealSize.cs
Created Oct 31, 2014
Viewbox 内の要素が実際に描画されているサイズを計算するやつ (WPF)。Viewbox 内の要素 (real size を知りたいやつ) から Viewbox 外の要素 (このコードでは Window) にアクセスできれば、その座標系に変換してほげもげっと。たぶん。
View GetRealSize.cs
/// <summary>
/// Viewbox 内に配置された要素について、実際に描画されているサイズを計算します。
/// </summary>
public static Size GetRealSize(FrameworkElement target)
{
var min = target.TranslatePoint(new Point(0, 0), Window.GetWindow(target));
var max = target.TranslatePoint(new Point(target.ActualWidth, target.ActualHeight), Window.GetWindow(target));
return (Size)(max - min);
}
@Grabacr07
Grabacr07 / Blynclight.Console.cs
Created Nov 10, 2014
Blync を光らせて遊ぶ (コンソールから (テスト))
View Blynclight.Console.cs
class Program
{
static void Main(string[] args)
{
var controller = new BlyncLightController();
var numberOfDevices = controller.InitBlyncDevices();
if (numberOfDevices == 0) return;
try
@Grabacr07
Grabacr07 / HideSystemMenuBehavior.cs
Created May 25, 2012
http://grabacr.net/archives/208 に張ったコードをそのまま。ただのテストですよ?
View HideSystemMenuBehavior.cs
using System;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Interactivity;
using System.Windows.Interop;
namespace SystemMenuSample
{
public class HideSystemMenuBehavior : Behavior<Window>
{
You can’t perform that action at this time.