WPFでもあった問題なのですが、(async/awaitなどを用いるなどして)メインではないスレッドから、ItemsControlのItemsSourceプロパティにバインドしたObservableCollectionに操作を行おうとするとエラーとなります。 (上記エラーはUWPプロジェクト、Windows8.…
埼玉・春日部で開催された「JXUG Xamarin もくもく会」に参加してきました。 ytabuchi.hatenablog.com 上記企画のTシャツがほしいからと、 ytabuchi.hatenablog.com 上記のリンクの通りにAzureのアプリケーションを作り、Xamarinで動くサンプルをダウンロー…
前回の記事では.net4.5向けのmvvminpcスニペットを作成しましたが、 Setメソッド(プロパティ変更+変更通知を行うViewModelBaseのメソッド)を用いたプロパティ用スニペットについても.net4.5用のオーバーライドに対応したものがなさそうだったため、作り方を…
MVVMLight Toolkit純正のスニペット(mvvminpcやmvvminpclambdaなど)では、文字列かラムダ式でプロパティ名を渡しています。 しかし、.net4.5(C#5)ではnameof演算子を使い、メソッド側で呼び元のプロパティ名を取得できるため、実際のところ呼び出し時にプロ…
スニペットのDLと配置(Visual Studio 2015の場合) 1:http://mvvmlight.codeplex.com/sourcecontrol/latestの「Download」リンクから、圧縮された全ソースコードをダウンロード 2:ファイルを解凍し、\Installer\InstallItems\Snippets\CSharp にスニペッ…
基底クラスのpublicなメソッドに対し、派生クラスでnewキーワードを用いてprivateなメソッドとして隠蔽を行なうと、 クラス外から呼び出した場合(publicなスコープでのアクセス時)は基底クラスの実装で動作し、 クラス内から呼び出した場合(privateなスコ…
とりあえず式木を使ってみたい、位の気持ちで記事にしてしまいました。 引数と定数「2」とで四則演算を行うメソッドを生成するメソッドです。 enum CalcType { Add, Subtract, Multiply, Divide } static Func<int, int> CreateExpression2(CalcType type) { var param</int,>…
文法に関する細かいメモ。 delegate void myDelegate(ref int test); static void Main(string[] args) { myDelegate del = (ref i) => i++; } 上記のコードは構文エラーが出てしまいます。 引数にrefがある場合は、型を省略できないようです。 static void …
class Program { static void Main(string[] args) { localMethod(); MyAction(); GC.Collect(); GC.WaitForPendingFinalizers(); Console.ReadLine(); } private static void localMethod() { MyClass myClass = new MyClass(); MyAction += () => { //ラム…
コントロールに沿う感じでコンテキストメニューを表示しようとしたところ、少しはまってしまった為メモ。 図のように、ボタンに沿う形でコンテキストメニューを出したかった。 コードは下記のとおり。
/// <summary> /// 基底クラス /// </summary> public class SuperClass { public SuperClass() { SuperProperty = "Super"; } private string SuperProperty { get; set; } } /// <summary> /// 派生クラス(子クラス) /// </summary> public class Sub1Class : SuperClass { } /// <summary> /// 派生クラス</summary>…
C#界隈で非常に有名なお方が「unsafeとかリフレクションでboolにtrue, false以外の値が入れられる」といった旨を呟かれていたのを拝見しました。 「unsafeでならintは入るかも」と思い、恐縮ながら試してみました。 class Program { static void Main(string…
日本語表示に対応したMicrosoft Band2ですが、人名などで使われるはしご高(髙)が表示できませんでした。 幾つかの文字で試してみたところ、IBM拡張文字の中で「CP932に定義されているが、JIS X 0212・JIS X 0213にない文字」の一部が表示できない模様です。 …
Microsoft Bandで、このブログの更新を読み込むタイルを作成してみます。 https://developer.microsoftband.com/ 上記サイトで、「Web Tile」のGet Startedボタンを押下します。(次の遷移先でも、GetStarted押下。) 上記ページで、今回は更新を読み込むタイ…
3月下旬にMicrosoft Bandを購入しました。 Blogのタイトル通りですが、一応私はフルマラソンなど走るので(自己ベストで5時間10分程と遅いのですが)、そのお供にと考えまして。 以下に使用体験の結果や個人的な感想などを記載させていただきます。 とりあえず…
わざわざIsEnabledプロパティをバインドしてコマンドにasync/awaitを書いて、連続クリックをロックで止めて…と書く画面に実装するのが面倒だと思い、作ってみました。 public class AsyncButton : Button { /// <summary> /// Commandに値を入れられないようスコープ</summary>…
4/10(日)に、「業務系システム開発勉強会」にお邪魔しまして、初めてXamarinでのコーディングを行いました。 当日はエクセルソフト株式会社の田淵氏やイメージ情報開発株式会社の皆様には特にお世話になりました。 ここぞとばかりに質問ばかりしてしまい、申…
DataConverterを用いたコーディングは大体こんな感じ。 using System.Windows; using System.Windows.Data; namespace WpfApplication { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window { public MainWindow()…
調査に大分手間取ってしまったのでメモ。 1、画面表示時、DataGridにデータを表示、一行目を選択状態とする。 2、そのままShift+マウスボタン押下で複数選択をしたい 上記処理を実現が、思いのほか大変でした。 一度選択行をクリックした後であればShift+…
xaml
public class Att { public static bool GetSelectedRadioButtonFocus(DependencyObject obj) { return (bool)obj.GetValue(SelectedRadioButtonFocusProperty); } public static void SetSelectedRadioButtonFocus(DependencyObject obj, bool value) { obj…
使いたいときについ忘れてしまうため、メモ程度に。 以下はタブキー押下によるフォーカス移動。 TraversalRequest traversalRequest = new TraversalRequest(FocusNavigationDirection.Next); firstitem.MoveFocus(traversalRequest); FocusNavigationDirect…
textBoxのTextChangedイベントより禁止文字の検知と削除を行う例を記載します。(『あ~お』の文字列を禁止する) 2016/05/17 初回入力制約はPreviewTextInputで行い、元に戻す・やり直し処理のみTextChangedイベントで行わないと、 IME入力中に禁止文字が来る…
通常、FocusVisualStyleはキーボード操作後から表示されますが、 下記コードを実行後は常に表示されるようになります。 var property = typeof(KeyboardNavigation).GetProperty("AlwaysShowFocusVisual", BindingFlags.NonPublic | BindingFlags.Static); p…
TextChangedで作ると、IMEの文字入力最中でも文字が消されてしまったため、TextCompositionEndedイベントで実装しました。 private void TextBox_TextCompositionEnded(TextBox sender, TextCompositionEndedEventArgs args) { TextBox textBox = sender as …