Thursday, February 26, 2009

Creating RibbonTab programatically

I've spent several hours on this issue so it's worth document it just in case it might help someone out there...

When using CWPF (aka Prism) in combintation with the RibbonControlsLibrary I was having a weird problem that my RibbonTabs created "inside" the Prism Modules where loosing it's bindign context and therefore the icon/text was gone (the 2nd time).


Both  Bartek Szafko and Joachim Kerschbaumer articles explain very nicely how to create adapter to be able to use RibbonTabs inside CWPF. I am not going to talk about that in this entry so please read them before in case you are just starting with the RibbonControlsLibrary .

My problem is that each of the RibbonTabs created inside CWPF IModule is also driven by a ViewModel. 

  public partial class DynamicTab 
    {
        public DynamicTabVM ViewModel { get; private set; }

        public DynamicTab()
        {
            InitializeComponent();
            DataContext = ViewModel= new DynamicTabVM();
        }

The technique of re-attaching the RibbonTab works fine if there is no databinding or it's using static resources.

In my scenario all the RibbonButtons have a Bindingg against an ICommand in the viewModel.
                     
When "switching" between Ribbon Tabs --> the DataContext was gone for the "dynamic" RibbonTab. 

I COULD not solve the problem by changing the binding to RelativeSource. Probably this is because I am new to WPF binding and the IDE (vs.net 2008) does not really help at all here.


      private void AddDynamicTabs()
        {
            //Create the Tab.
            var dynamicTab = new DynamicTab();

            // The tab DataContext is the ViewModel.
            var vm = (DynamicTabVM) dynamicTab.DataContext;

            // Take the included ribbon tab.
            RibbonTab tab = dynamicTab.DynamicRibbonTab;
            
            // Disconnect from container
            dynamicTab.Content = null;

            // Re-assign the DataContext
            tab.DataContext = vm;


            foreach (var group in tab.Groups)
            {
                group.DataContext = vm;

                foreach (var control in group.Controls)
                {
                    if (control is RibbonButton)
                    {
                        (control as RibbonButton).DataContext = vm;
                    }
                    // TODO : Applies to more controls.. We are currently using RibbonButton.
                }
            }

            MyRibbon.Tabs.Add(tab);

            // This is needed to be able to view the NEW tab using the correct Style/Skin.
            MyRibbon.InvalidateVisual();

        }


You can download the Example code.

The example is not actually using CWPF and therefore this code should be included in the Adapter. 



41 comments:

デリバリーホスト said...

女性向け風俗サイトで出張デリバリーホストをしてみませんか?時給2万円の高額アルバイトです。無料登録をしてあとは女性からの呼び出しを待つだけなので、お試し登録も歓迎です。興味をもたれた方は今すぐどうぞ。

熟女サークル said...

性欲のピークを迎えたセレブ熟女たちは、お金で男性を買うことが多いようです。当、熟女サークルでは全国各地からお金持ちのセレブたちが集まっています。女性から男性への報酬は、 最低15万円からとなっております。興味のある方は一度当サイト案内をご覧ください

セレブ said...

セレブラブでは心とカラダに癒しを求めるセレブ女性と会って頂ける男性を募集しています。セレブ女性が集まる当サイトではリッチな彼女たちからの謝礼を保証、安心して男性はお金、女性は体の欲求を満たしていただけます。興味がある方は当サイトトップページからぜひどうぞ

ゲイ said...

ゲイの数が飛躍的に増えている現代、彼らの出逢いの場は雑誌やハッテン場からネットに移り変わってきています。当サイトは日本最大のゲイ男性の交流の場を目指して作られました。おかげさまで会員数も右肩上がりに伸びています。ゲイの方や興味のある方はぜひ当サイトをご覧ください。

素人 said...

さびしい女性や、欲求不満な素人女性たちを心も体も癒してあげるお仕事をご存じですか?女性宅やホテルに行って依頼主の女性とHしてあげるだけで高額の謝礼を手に入れる事が出来るのです。興味のある方は当サイトTOPページをご覧ください

右脳左脳チェッカー said...

パーティーや合コンでも使える右脳左脳チェッカー!あなたの頭脳を分析して直観的な右脳派か、理詰めな左脳派か診断出来ます。診断結果には思いがけない発見があるかも!みんなで診断して盛り上がろう

出張ホスト said...

女性会員様増加につき、出張ホストのアルバイトが不足中です。ホテルや女性の自宅に出向き、彼女たちの欲望を満たすお手伝いをしてくれる男性アルバイトをただいま募集しております。興味のある方はTOPページをご覧ください

友達募集 said...

美容院いってきた記念に写メを更新しました。結構気に入ってるんですけどどうですか?メール乗せておくのでメッセお待ちしてるなりmiracle.memory@docomo.ne.jp

家出掲示板 said...

最近雑誌やTVで紹介されている家出掲示板では、全国各地のマンガ喫茶等を泊り歩いている家出少女のメッセージが多数書き込みされています。彼女たちはお金がないので掲示板で知り合った男性の家にでもすぐに遊びに行くようです。あなたも書き込みに返事を返してみませんか

プロフ said...

プロフ作ったわいいけど見てくれる人いなくて少し残念な気分に陥ってます。意見でもいいので見た方がいましたら一言コメント送ってくだしゃいメアドのせているのでよろしくでしゅapotheosis@docomo.ne.jp

乱交パーティー said...

乱交パーティー実施サークル、「FREE SEX NET」では人に見られること、人に見せつける事が大好きな男女が集まり、乱交パーティーを楽しむサークルです。参加条件は「乱交が好きな18歳以上の健康な方」です。興味がある方はぜひ当サイトをご覧ください

家出 said...

家出している女の子と遊んでみませんか?彼女たちはお金に困っているので、掲示板で知り合ったいろんな男の家を泊り歩いている子も多いのです。そんな子たちとの出逢いの場を提供しています

逆¥交際 said...

出会ぃも今は逆¥交際!オンナがオトコを買う時代になりました。当サイトでは逆援希望の女性が男性を自由に選べるシステムを採用しています。経済的に成功を収めた女性ほど金銭面は豊かですが愛に飢えているのです。いますぐTOPページからどうぞ

プロフ said...

世界の中心で貴方を叫ぶような恋がしたいんです。愛に飢えているゆいと恋バナ話ませんか?メアドのっけてるので気になる方は連絡頂戴ねuna-cima@docomo.ne.jp

出張ホスト said...

女性向け風俗サイトで出張ホストをしてみませんか?時給2万円以上の高額アルバイトです。無料登録をしてあとは女性からの呼び出しを待つだけでOK、お試し登録も歓迎です。興味をもたれた方は今すぐどうぞ。

彼氏募集 said...

友達の前では少し強がって彼氏なんかいらないって言ってしまうけど、やっぱ本音では欲しいです、夜は寒いし寂しいし私の本音に気付いてください。メアド乗せておくので優しい方連絡くださいtoward.the-future@docomo.ne.jp

若妻 said...

セレブと言われる世の若妻は男に飢えています、特に地位が邪魔して出会いが意外と少ないから、SEXサークルを通じて日頃のストレス発散に毎日男を買い漁っています。ここは彼女達ご用達の口コミサイトです

家出 said...

一人で家出したんだけど助けてほしいです。今まで強がってました。もう親には頼れない…super-love.smile@docomo.ne.jp

お宝映像 said...

激レア映像!芸能人のお宝映像を一挙公開中!無料登録するだけでレアなお宝映像やハプニング画像が取り放題、期間限定の動画も見逃せない

熟女 said...

仕事を辞めてください。一日で今の月収を超えるお誘いがあります。某有名セレブ熟女の強い要望により少しの間、恋人契約という女性からのお申し込みがありました。今までは地位や名誉のために頑張ってこられたようでございますが年齢を重ね、寂しさが強くなってきたようでございます。男性との時間を欲しがっている女性に癒しを与えてくださいませ

1人H said...

1人Hのお手伝い、救援部でHな見せたがり女性からエロ写メ、ムービーをゲットしよう!近所の女の子なら実際に合ってHな事ができちゃうかも!?開放的な女の子と遊んじゃおう

メール said...

ストーカーの追い回されて怖いんです。毎日夜になると非通知電話多いし怖い。。。助けてくださいpeach-.-girl@docomo.ne.jp

スタビ said...

復活、スタービーチ!日本最大の友達探しサイトがついに復活、進化を遂げた新生スタービーチをやってみませんか?理想のパートナー探しの手助け、合コンパーティー等も随時開催しています。楽しかった頃のスタビを体験しよう

処女 said...

「友達の中で処女なのは私だけ…でも恥ずかしくて処女だなんて言えない、誰でもイイからバージンを貰ってほしい!」そんな女性が沢山いる事をご存じですか?出合いが無かった、家が厳格だった等の理由でHを経験したことがない女性がたくさんいるのです。当サイトはそんな女性たちと男性を引き合わせるサイトです

メアド開運 said...

メアド開運、あなたの使ってるメアドを診断出来ちゃうサイト!吉と出るか凶と出るかはあなた次第、普段使ってるメアドの金運、恋愛運が測定できちゃいます

逆¥交際 said...

今話題の逆¥交際!あなたはもう体験しましたか?当サイトでは逆援希望の女性が男性を自由に選べるシステムを採用しています。成功を収めた女性ほど金銭面は豊かですが愛に飢えているのです。いますぐTOPページからどうぞ

豪華賞品 said...

只今、シャープ32型液晶テレビ、PS3等、豪華商品が当たるキャンペーンを実施中!まずは欲しい商品を選び、メールアドレスを登録して無料エントリー!その場で当たりが出たら賞品ゲットできます。抽選に外れた方もWチャンスで商品券等が当たります。ぜひチャレンジして下さい

メル友 said...

彼氏にDVされて、ちょっと男性不信です。でも、恋愛して彼氏も作りたいと思ってるので、優しく接してくれる人を探してます。連絡待ってまぁす! pretty-toy-poodle@docomo.ne.jp

神待ち said...

家出をして不安な少女たちの書込が神待ち掲示板に増えています。一日遊んであげたり、家に招いて泊まらせてあげるだけで、彼女たちはあなたに精一杯のお礼をしてくれるはずです

乱交 said...

全国乱交連盟主催、スワップパーティーに参加しませんか?初めての方でも安心してお楽しみいただけるパーティーです。参加費は無料、開催地も全国に120ヶ所ありますので気軽に参加してお楽しみ下さい

アブノーマル said...

SM・露出・スワッピング・レズ・女装・フェチなど…普通じゃ物足りないあなたが思う存分楽しめる世界!貴方だけのパートナーを探してみませんか?アブノーマルでしか味わえない至福の時をお過ごしください

セレブラブ said...

セレブラブでは毎月10万円を最低ラインとする謝礼を得て、セレブ女性に快楽を与える仕事があります。無料登録した後はメールアプローチを待つだけでもOK、あなたも当サイトで欲求を満たしあう関係を作ってみませんか

裏バイト said...

簡単に大金を稼ぐことができる裏バイトがあります。女性が好きな方、健康な方なら日給3万円以上の収入を得ることも可能です。興味のある方はHPをご覧ください

救援部 said...

一人Hを男性に見てもらうことで興奮する女性が多数いることをご存じですか?当サイト、救援部ではそんな女性たちが多数登録されています。男性会員様は彼女たちのオ○ニーを見てあげるだけで謝礼を貰えるシステムとなっております。

メル友募集 said...

冬に1人ボッチで家でご飯とかオヤスミなんて寂しすぎるょ~~っ!こんなところに書き込んだら削除されちゃいそうだけど少しでもきっかけ作らなくっちゃと思って書いてみましたっ!!気軽に会ったり出来たりする方ってこの掲示板見てませんか~!?良かったらメールくださいね★フリメだったら私気付けないんで携帯のアドレス乗せておくねっ!! love-sexy@docomo.ne.jp

失恋 said...

失恋は心に深い傷を残します。その傷を癒す特効薬、それは新しい出会い。あなたの心を癒す、素晴らしい出会いを当サイトで見つけて、笑顔を取り戻してください

高額バイト said...

高額バイトのご案内です。欲求不満になっている女性を癒して差し上げるお仕事です。参加にあたり用紙、学歴等は一切問いません。高収入を稼ぎたい、女性に興味のある方はぜひどうぞ

交際 said...

スタービーチの突然の閉鎖、優良な友達探しサイトが無くなってしまいましたが、新生・スタービーチがここに復活しました!、進化を遂げた新生スタービーチをやってみませんか?理想の交際探しの手助け、合コンパーティー等も随時開催しています。楽しかった頃のスタビを体験しよう

神待ちサイト said...

「家出してるんで、泊まるところないですか?」家出救済神待ちサイトには毎日このような女の子からの書き込みがされています。彼女たちはホテルや家に泊まらせてあげたり、遊んであげるだけであなたに精一杯のお礼をしてくれるはずです

露出 said...

普通のプレイじゃ絶対味わえない快感、それは野外露出プレイ。最初は嫌がっていた女も次第にハマっていって、その内それが快感に変わってきます。野外露出プレイで興奮度アップ間違い無し

友達 said...

早い時期に結婚してしまって、少し後悔しているんです。私は、今の夫しか経験が無くって、このままでいいのかなって…。思うようになってきてしまって…冒険はしたいんですけど、やっぱりばれたりしたら怖いので…割り切りで会える方って居ませんでしょうか?連絡お待ちしてますね♪最初に年齢を教えてくれるとうれしいです。pop-music-lo-ve@docomo.ne.jp