[C#] Twitter Search APIをWebClientから使用する例

12:07 AM on 2011年6月24日 ,

private class Tweet { public string ID { get; set; } public string Title { get; set; } public string Published { get; set; } public string Source { get; set; } public Uri Image { get; set; } public string Author { get; set; } } private void GetTweets() { WebClient client = new [...]

[C#] 正規表現メモ

12:03 AM ,

// 文字列に含まれるタグを除去 Regex r = new Regex(@”<.*?>”, RegexOptions.None); string result = r.Replace(“<div style=’font-size:12px;’>test</div>”, string.Empty); // 文字列から()で囲まれた部分を除去 Regex r = new Regex(@”\(.*?\)”, RegexOptions.None); string result = r.Replace(“aaa (bbb)”, string.Empty);

[Silverlight OOB] WindowsとMacで異なる挙動のメモ

10:14 PM on 2011年6月6日 ,

LayoutRootのMouseLeftButtonDownイベントハンドラに Application.Current.MainWindow.DragMove(); を記述し、MainWindowをドラッグで移動できるようにする。 ↓ LayoutRootの子要素として、上下左右の四隅に配置した RectangleのMouseLeftButtonDownイベントハンドラに Application.Current.MainWindow.DragResize(WindowResizeEdge.~); を記述し、MainWindowのサイズを四隅からドラッグで変えられるようにする。 ↓ Windows: DragMoveとDragResizeがうまく働く Mac: DragMoveが効いてしまい、DragResizeが非常にやりずらい ↓ LayoutRootの子要素として、中央にGrid等を配置し、 そのMouseLeftButtonDownイベントハンドラに Application.Current.MainWindow.DragMove(); を記述すると、Macでもうまく処理されるようになる。

[Silverlight] RowDefinition・ColumnDefinitionの「Auto」「*」をコード側から指定する方法

10:33 PM on 2011年5月26日 ,

Grid g = new Grid(); // RowDefinition RowDefinition row1 = new RowDefinition(); row1.Height = new GridLength(1.0, GridUnitType.Auto); // <RowDefinition Height=”Auto”/> g.RowDefinitions.Add(row1); RowDefinition row2 = new RowDefinition(); row2.Height = new GridLength(1.0, GridUnitType.Star); // <RowDefinition Height=”*”/> g.RowDefinitions.Add(row2); RowDefinition row3 = new RowDefinition(); row3.Height = new GridLength(0.5, GridUnitType.Star); // <RowDefinition Height=”0.5*”/> g.RowDefinitions.Add(row3); RowDefinition row4 = new RowDefinition(); row4.Height [...]

[Silverlight] Enum.GetValues()の代替手段

9:23 PM on 2011年5月23日 ,

SilverlightではEnum.GetValues()が使えない? そのため、enumの値を列挙する場合等には以下の方法で代替する。 // Tに対象のenumの型を指定する public static List GetValues() { Type t = typeof(T); if (!t.IsEnum) { throw new ArgumentException(); } List values = new List(); var fields = from field in t.GetFields() where field.IsLiteral select field; foreach (FieldInfo field in fields) { object value = field.GetValue(t); values.Add((T)value); } return values; }

[C#] Base64形式の文字列エンコードとデコード

9:05 PM on 2011年5月20日

// encode byte[] bytes1 = Encoding.UTF8.GetBytes(“string”); string str1 = Convert.ToBase64String(bytes1); // decode byte[] bytes2 = Convert.FromBase64String(str1); string str2 = Encoding.UTF8.GetString(bytes2, 0, bytes2.Length);

[Silverlight] コード側から生成するStoryBoardでRenderTransformの値を変化させる例

9:45 PM on 2011年3月24日 , ,

(XAML) <Button x:Name=”button” RenderTransformOrigin=”0.5,0.5″> <Button.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform/> </TransformGroup> </Button.RenderTransform> </Button> (C#) // ボタンが上から下に移動するStoryboard private void CreateStoryboard() { Storyboard sb = new Storyboard(); DoubleAnimation animationTransformY = new DoubleAnimation() { Duration = TimeSpan.FromSeconds(2.0), From = -30.0, To = 0.0, EasingFunction = new BackEase() { Amplitude = 1, EasingMode = EasingMode.EaseInOut, } }; // DoubleAnimationに対象のオブジェクトを設定 [...]

[Silverlight] DependencyPropertyの登録方法

7:41 PM on 2010年12月10日 ,

public class MyClass : DependencyObject { public MyClass() { } public string Test { get { return (string)GetValue(TestProperty); } set { SetValue(TestProperty, value); } } public static readonly DependencyProperty TestProperty = DependencyProperty.Register(“Test”, typeof(string), typeof(MyClass), new PropertyMetadata(“”)); } (参考) http://msdn.microsoft.com/ja-jp/library/system.windows.dependencyproperty.register%28VS.80%29.aspx

[Silverlight] マウスホイールイベントを取得

7:38 PM ,

public MainPage() { InitializeComponent(); HtmlPage.Window.AttachEvent(“DOMMouseScroll”, OnMouseWheel); HtmlPage.Window.AttachEvent(“onmousewheel”, OnMouseWheel); HtmlPage.Document.AttachEvent(“onmousewheel”, OnMouseWheel); } private void OnMouseWheel(object sender, HtmlEventArgs args) { ScriptObject e = args.EventObject; if (e.GetProperty(“wheelDelta”) != null) { // IE・Opera } else if (e.GetProperty(“detail”) != null) { // Mozilla・Safari } }

[Silverlight] コード側からStoryBoardを生成

7:34 PM ,

// ボタンを拡大表示するStoryboard生成 private void CreateStoryboard(Button btn) { Storyboard sb = new Storyboard(); // 幅変更DoubleAnimation DoubleAnimation animationWidth = new DoubleAnimation() { Duration = TimeSpan.FromSeconds(1.0), From = 50.0, To = 100.0, EasingFunction = new BackEase() { Amplitude = 1, EasingMode = EasingMode.EaseInOut, } }; // 高さ変更DoubleAnimation DoubleAnimation animationHeight = new DoubleAnimation() { Duration = TimeSpan.FromSeconds(1.0), From = [...]

2 / 3123