FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

WindowのHeightとWidthにバインディングするには

 ViewModelにウインドウの高さと幅を表すプロパティを定義し、WindowのHeightとWidthにバインディングすればウインドウサイズを変更できます。
 ただ、この時に注意しないといけないのはバインディングモードをTowWayにする必要があることです。
<Window x:Class="WindowSize.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:WindowSize.ViewModels"
        Title="MainWindow"
        Height="{Binding WindowHeight, Mode=TwoWay}"
        Width="{Binding WindowWidth, Mode=TwoWay}">
    
    <Window.DataContext>
        <vm:MainWindowViewModel/>
    </Window.DataContext>
    
    <Grid>
        
    </Grid>
</Window>
 こうすればウインドウの大きさを指定した値に変更できます。
 モードをTowWayにするのを忘れた場合は、ウインドウサイズが指定した大きさになりません。
 HeightとWidthのうち先に指定した方のパラメーターは指定したサイズになりますが、後に指定した方のパラメーターは全く違うサイズになります。
 ちなみに、ViewModelのコンストラクタでMessageBoxを表示させると何故か指定通りのサイズで表示されます。
 何が原因でこのような現象が起きるのかは不明ですが、ウインドウのHeightとWidthにバインディングする際は注意してください。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
11 | 2018/12 | 01
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。