【WPF備忘録】ItemsControlの中から親WindowのDataContextを使う

ItemsControlで、ある配列をItemsSourceに設定し、ListBox形式のButtonをつくった。

そのButtonをクリックした時に親WindowがもってるViewModel内のメソッドを呼びたかった。

いつも通りLivetを使って

<i:Interaction.Triggers>
   <i:EventTrigger EventName="Click">
      <l:LivetCallMethodAction MethodTarget="{Binding}" MethodName="HOGE" MethodParameter="HAGE"/>
   </i:EventTrigger>
</i:Interaction.Triggers>

こんな感じで呼べるかと思ったんだ・・・
でもコレじゃ呼べない・・・

<i:Interaction.Triggers>
   <i:EventTrigger EventName="Click">
      <l:LivetCallMethodAction MethodName="HOGE" 
                               MethodParameter="HAGE"
                               MethodTarget="{Binding DataContext,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Window}}}"/>
   </i:EventTrigger>
</i:Interaction.Triggers>

MethodTargetが肝心らしい・・・そうなんだ・・・これでクソコードにならなくなるね・・・!

【WPF備忘録】wpfでWindowのWidthやHeightをBindingする方法

WindowのWidthやHeightをBindingしたい場合、恐らく何時も通りこんな感じで書くでしょう・・・

<Window 
<!--省略-->
        Title="Window" Height="{Binding Height}" Width="{Binding Width}">
    
    <Window.DataContext>
        <vm:Window1ViewModel/>
    </Window.DataContext>
    
    <Grid>
<!--省略-->
    </Grid>
</Window>

しかしこれでは上手く動作しません・・・
上手く動作させるには、こう書き換えましょう。

<Window 
<!--省略-->
        Title="Window" Height="{Binding Path=Height,Mode=TwoWay}" Width="{Binding Path=Width,Mode=TwoWay}">
    
    <Window.DataContext>
        <vm:Window1ViewModel/>
    </Window.DataContext>
    
    <Grid>
<!--省略-->
    </Grid>
</Window>

これで解決します・・・!
※備忘録なので間違った表現があるかもしれません

VMwareでSnowLeopardをインストールしてからEl Capitanをインストールした話

あくまで備忘録として書いておく
1.SnowLeopardのディスクをiso化
2.vmware6をインストール
3.unlock-all-v130をDLして管理者権限でインストール
4.Snowy_Vmware_filesをDLしてMac OS X Server 10.6 (experimental).vmxのfirmwareをbiosに変更
5.VMware側の設定は省略、調べてください
6.インストール終わったらソフトウェアアップデートから10.6.8にする
7.AppStoreからEl Capitanを入手する
8.VMware側の設定でSnowLeopardにHDD(40GBほど)を追加、名前はMac OS X 10.11.vmdkに必ずする。他の設定は調べてください
9.パーティションとか設定したらそのHDDに入手したEl Capitanをコピペ
10.インストール実行して追加した方のHDDにインストール
11.VMwareで新規マシン追加、名前はMac OS X 10.11にする。他の設定は調べてください。
12.追加出来たら起動する前に新規マシンのフォルダを開いてMac OS X 10.11.vmdkをEl CapitanがインストールされたMac OS X 10.11.vmdkと置き換える
13.Mac OS X 10.11.vmxを開いて

cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"
keyboard.vusb.enable = "TRUE"
keyboard.vusb.idVendor = "0x0000"
keyboard.vusb.idProduct = "0x0000"

と追記
14.起動でインストール始まるはず・・・

VMwareで動いてるSnowLeopardでEl Capitanを入手するのが大変だった話

前提
SnowLeopard – 10.6.8
VMware12

AppStoreでElCapitanページを開いて入手を押す

アカウント名、パスワードの入力を求められる

正しいのに「ご利用のデバイスまたはコンピュータを確認できません。詳細はサポートへご連絡ください」と表示されてDL出来ない

解決方法
VMware6をインストールして
unlock-all-v130を管理者権限でインストール
\ 解 決 /

VMwareにSnow Leopardをインストールするのが大変だった話

Snowy_Vmware_filesを使ってVMwareにSnowLeopardをインストールしようとしたら
CD/DVDを読み込まずBootManagerが開く

Mac OS X Server 10.6 (experimental).vmxを開いて
firmware = “bios”と変更(追記)する

これでWin10でも無事インストールが出来た

VMwareでのSnowLeopardの設定がデフォルトでコア1メモリ1GBだから変更してからインストールしたほうがいい・・・失敗した・・・