私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMicrosoft Silverlight その8
silverlight スレッド一覧へ / silverlight とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
>>498
実装面から見るとSLはblendのタイムラインとちょっとした生成処理で行けそうな気がするのにハードコーディングかい…
HTMLはjQueryつかわないと書く気にならないし、デバッグ大変そう…
そしてちょっとの変更が泣けそう…
ってところかな?
実装面から見るとSLはblendのタイムラインとちょっとした生成処理で行けそうな気がするのにハードコーディングかい…
HTMLはjQueryつかわないと書く気にならないし、デバッグ大変そう…
そしてちょっとの変更が泣けそう…
ってところかな?
表示用に並べ替えるだけだったらデータソースは変更しないでCollectionVewSource使うのがスマート
SortDescriptionsでソート方法を指定できる
SortDescriptionsでソート方法を指定できる
Visibility プロパティが変更されたらイベントが実行されるようにしたいのですが、
コントロールを単純に実装しても無理っぽい感じでした。
何か良い方法はないでしょうか?
public class MyTextBox : TextBox
{
public new Visibility Visibility {
get
{
return base.Visibility;
}
set
{
if (base.Visibility != value)
{
base.Visibility = value
MyVisibility_Changed();
}
}
}
}
コントロールを単純に実装しても無理っぽい感じでした。
何か良い方法はないでしょうか?
public class MyTextBox : TextBox
{
public new Visibility Visibility {
get
{
return base.Visibility;
}
set
{
if (base.Visibility != value)
{
base.Visibility = value
MyVisibility_Changed();
}
}
}
}
Visibility プロパティをコードで書き換えると動作しますが、
コンバータで値を変更するとうまくうごきません。
コンバータで値を変更するとうまくうごきません。
基底コントロールの継承はした事がなく、新規コントロールの場合だから的外れならごめんだけど…
Viewが使えるようにコントロール登録する際にRegisterAttachedメソッド系って呼ばなくていいの?
というのも、overrideではなくnewでプロパティ隠蔽してるからMyTextBox.Visibilityは処理されてないんじゃないかと…
ソースで書いた場合のおさらい
var txt = new MyTextBox();
txt.Visibility = false; // ①これはMyTextBoxクラスが呼ばれる
TextBox txtBase = txt;
txtBase.Visibility = true; // ②これはTextBoxクラスが呼ばれる
newで隠蔽してるから基底クラを操作した場合、当然基底クラスのが直接呼ばれて継承したのは呼ばれない。
んで、View側にMyTextBoxが認識されなければ②のようにTextBoxで処理されてる気がする…
Viewが使えるようにコントロール登録する際にRegisterAttachedメソッド系って呼ばなくていいの?
というのも、overrideではなくnewでプロパティ隠蔽してるからMyTextBox.Visibilityは処理されてないんじゃないかと…
ソースで書いた場合のおさらい
var txt = new MyTextBox();
txt.Visibility = false; // ①これはMyTextBoxクラスが呼ばれる
TextBox txtBase = txt;
txtBase.Visibility = true; // ②これはTextBoxクラスが呼ばれる
newで隠蔽してるから基底クラを操作した場合、当然基底クラスのが直接呼ばれて継承したのは呼ばれない。
んで、View側にMyTextBoxが認識されなければ②のようにTextBoxで処理されてる気がする…
ちょっと修正。
Viewで認識する対象はクラス自体というより、プロパティとイベントの関係が認識されてるかってこと。
一度MyTextBoxでnewしてるのを別名に変更してイベントと紐付いてるかを確認した方がいいと思う。
Viewで認識する対象はクラス自体というより、プロパティとイベントの関係が認識されてるかってこと。
一度MyTextBoxでnewしてるのを別名に変更してイベントと紐付いてるかを確認した方がいいと思う。
んんん…クラスが認識されるだけで呼ばれるハズなのか?
クラス定義だけでXAML側でそのクラスは使えるハズだから上で書いた事は的外れ…?
でもRegisterAttachedメソッドで登録するからクラス認識だけじゃ足りないのか…?
ごめん、ちょっとこんがらがってきたから的外れなら無視して…
連投すまん。。
クラス定義だけでXAML側でそのクラスは使えるハズだから上で書いた事は的外れ…?
でもRegisterAttachedメソッドで登録するからクラス認識だけじゃ足りないのか…?
ごめん、ちょっとこんがらがってきたから的外れなら無視して…
連投すまん。。
>>504
MVVM Light Tool Kit を使って、EventToCommand で実行するってのはどう?
MVVM Light Tool Kit を使って、EventToCommand で実行するってのはどう?
もしかして、依存関係プロパティにバインドしているのに、Setterが呼ばれないとか当たり前のことで騒いでる?
まあ、元々、Office Web Apps とかじゃ Silverlight 使ってなかったしね。
>>513
依存関係プロパティだと、直接SetValueの方が呼ばれるよ。
依存関係プロパティだと、直接SetValueの方が呼ばれるよ。
依存関係プロパティはWPFやSilverlightが勝手にプロパティと呼んでるだけで全く独自の仕組み
C#でいうところのプロパティとは無関係
コードから値を取得したり設定したりするのを楽にするためにC#のプロパティの方を
「ラッパーとして」用意してあるけど、呼ばれる保証はない
WPFならOverrideMetadataとかOnPropertyChangedとか使って基底クラスの
依存関係プロパティが変化したことを知ることができるんだけどSilverlightでは無理
C#でいうところのプロパティとは無関係
コードから値を取得したり設定したりするのを楽にするためにC#のプロパティの方を
「ラッパーとして」用意してあるけど、呼ばれる保証はない
WPFならOverrideMetadataとかOnPropertyChangedとか使って基底クラスの
依存関係プロパティが変化したことを知ることができるんだけどSilverlightでは無理
>>513
ダミーのプロパティを作って Visibility からダミーのプロパティに Mode=TwoWay で Binding すれば良いよ。
ダミーのプロパティの set に必要な処理を書く。
Visibility の Binding を他に使う予定なら、ダミーの依存関係プロパティを作って、それの PropertyChangedCallback にメソッドを登録。
あとは、ダミーの依存関係プロパティから Visibility に Mode=OneWay で Binding する。
この辺りを参考に実装してみて。
How do I know when FrameworkElement.DataContext is changed?
http://forums.silverlight.net/forums/p/13421/43840.aspx
ダミーのプロパティを作って Visibility からダミーのプロパティに Mode=TwoWay で Binding すれば良いよ。
ダミーのプロパティの set に必要な処理を書く。
Visibility の Binding を他に使う予定なら、ダミーの依存関係プロパティを作って、それの PropertyChangedCallback にメソッドを登録。
あとは、ダミーの依存関係プロパティから Visibility に Mode=OneWay で Binding する。
この辺りを参考に実装してみて。
How do I know when FrameworkElement.DataContext is changed?
http://forums.silverlight.net/forums/p/13421/43840.aspx
DataGrid の DataGridTemplateColumn の中にTextBlock と、編集用に TextBox を60個ずつ
それぞれStackPanel の中に突っ込んでいるんだけど、レイアウトがおかしいです。
レイアウトがおかしい行をスクロールアウトして、再度スクロールインすると、ちゃんとレイアウトされているのです。
以前、再描画とは異なる処理が走ると教わったのですが、具体的にどのメソッド等を呼べばスクロールアウト、スクロールインと
同等のことができるのでしょうか?
レイアウトがおかしくなるのは、Silverlight のバグでしょうか?
それぞれStackPanel の中に突っ込んでいるんだけど、レイアウトがおかしいです。
レイアウトがおかしい行をスクロールアウトして、再度スクロールインすると、ちゃんとレイアウトされているのです。
以前、再描画とは異なる処理が走ると教わったのですが、具体的にどのメソッド等を呼べばスクロールアウト、スクロールインと
同等のことができるのでしょうか?
レイアウトがおかしくなるのは、Silverlight のバグでしょうか?
>>518
解決しました。
Setter で StackPanel にマージン(Margin="5")を設定していたのが原因でした。
Setter を消したらちゃんと描画されました。
原因はわかりません。
解る人がいたら、原因の解説をお願いします。
解決しました。
Setter で StackPanel にマージン(Margin="5")を設定していたのが原因でした。
Setter を消したらちゃんと描画されました。
原因はわかりません。
解る人がいたら、原因の解説をお願いします。
DataGrid でName 属性を設定しても MainPage.xaml.cs から参照できないのですが、仕様でしょうか?
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Name="TypePanel" Background="White" Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left">
<sdk:AutoCompleteBox Name="Type0" Text="{Binding Type0, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type1" Text="{Binding Type1, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type2" Text="{Binding Type2, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type3" Text="{Binding Type3, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type4" Text="{Binding Type4, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type5" Text="{Binding Type5, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
※Type1 ~ Type5 が参照できません
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Name="TypePanel" Background="White" Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left">
<sdk:AutoCompleteBox Name="Type0" Text="{Binding Type0, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type1" Text="{Binding Type1, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type2" Text="{Binding Type2, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type3" Text="{Binding Type3, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type4" Text="{Binding Type4, Mode=TwoWay}"/>
<sdk:AutoCompleteBox Name="Type5" Text="{Binding Type5, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
※Type1 ~ Type5 が参照できません
>>522
出先だから確認できないけど、DataTemplate使ってるってことはDataGridとは別のリソース定義扱いになるから直接ソースから扱えたっけ?
アクセスしたいならVM側からとかいくらでも…
というかMVVMの構造知っといた方がいいような…
出先だから確認できないけど、DataTemplate使ってるってことはDataGridとは別のリソース定義扱いになるから直接ソースから扱えたっけ?
アクセスしたいならVM側からとかいくらでも…
というかMVVMの構造知っといた方がいいような…
DataGridはデータ次第で何行も作られて、
そのそれぞれの行のColumnにテンプレートが適用される。
100行あったとき「Type0ってどれ?」って話で
そのそれぞれの行のColumnにテンプレートが適用される。
100行あったとき「Type0ってどれ?」って話で
>>525
状態を保持する必要が無ければ、View側で処理しちゃっても良いと思うんだぜ
状態を保持する必要が無ければ、View側で処理しちゃっても良いと思うんだぜ
sdk:AutoCompleteBox の Got_Focus イベントで、
OriginalSource を参照すると、型が AutoCompleteBox ではなく、TextBox になってしまうのですが、
そういうものでしょうか?
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
MessageBox.Show(e.OriginalSource.GetType().ToString());
}
OriginalSource を参照すると、型が AutoCompleteBox ではなく、TextBox になってしまうのですが、
そういうものでしょうか?
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
MessageBox.Show(e.OriginalSource.GetType().ToString());
}
もし宗教に配慮したとしても金光明経でしょ。関係ないと思うが
一応、命名由来はあくまでもAdobe Flashへの対抗らしい。
カメラのフラッシュを吸収して結像するのは銀塩カメラ(Silver Halide Camera)だし
「フラッシュ」は1瞬だけ激しく輝くが、「銀」は「光」を当てるといつまでも輝き続けるから、という説もある。
一応、命名由来はあくまでもAdobe Flashへの対抗らしい。
カメラのフラッシュを吸収して結像するのは銀塩カメラ(Silver Halide Camera)だし
「フラッシュ」は1瞬だけ激しく輝くが、「銀」は「光」を当てるといつまでも輝き続けるから、という説もある。
質問です。
セル結合が可能なデータグリッドを作るのに
どのコントロールで実装するのがスマートなんでしょう。
StackPanel にTextBox を並べるか
Gridで配置するか。。
他に案があればご教示ください。
FlexGridなどの有償製品は抜きでお願いします。
セル結合が可能なデータグリッドを作るのに
どのコントロールで実装するのがスマートなんでしょう。
StackPanel にTextBox を並べるか
Gridで配置するか。。
他に案があればご教示ください。
FlexGridなどの有償製品は抜きでお願いします。
どうしても標準コントロールでやりたきゃ、Gridじゃね?
快適に動作するかはかなりアレなので、俺もフルスクラッチを薦めるけど
快適に動作するかはかなりアレなので、俺もフルスクラッチを薦めるけど
んーどの程度のものを作るかによるけれどある程度以上になると
ベースのくせを回避したり制限を乗り越える労力>>>>>>フルスクラッチの労力
になると思われ。しかも不毛な労力。
ベースのくせを回避したり制限を乗り越える労力>>>>>>フルスクラッチの労力
になると思われ。しかも不毛な労力。
割と疑問なんだが、データグリッドでセルを結合したいってのはどんな用途を想定しての物なんだろう
下の例はSilverlight ではなくASP.NETでの実現方法の参考だが
表のヘッダー(見出し)を1行追加して複数の項目をまとめたい場合があるよ。
列結合
http://www.atmarkit.co.jp/fdotnet/dotnettips/091joinheader/joinheader.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/095multiheader/multiheader.html
行結合
http://www.atmarkit.co.jp/fdotnet/dotnettips/092joincells/joincells.html
表のヘッダー(見出し)を1行追加して複数の項目をまとめたい場合があるよ。
列結合
http://www.atmarkit.co.jp/fdotnet/dotnettips/091joinheader/joinheader.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/095multiheader/multiheader.html
行結合
http://www.atmarkit.co.jp/fdotnet/dotnettips/092joincells/joincells.html
Silverlightで単体テストする時って、皆はどうしてる?
やっぱ、Silverlight Unit Test Frameworkが基本なんだろうか
やっぱ、Silverlight Unit Test Frameworkが基本なんだろうか
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- Microsoft Silverlight その9 (574) - [96%] - 2023/1/25 14:30
- Microsoft Silverlight その7 (1001) - [96%] - 2011/3/24 1:31 ○
- Microsoft Silverlight その6 (1001) - [96%] - 2010/11/1 4:09
- Microsoft Silverlight その5 (984) - [96%] - 2010/4/16 20:20 ☆
- Microsoft Silverlight その4 (1001) - [96%] - 2009/12/5 9:05 ○
- Microsoft Silverlight 2.0 その3 (556) - [83%] - 2009/3/24 0:35 ○
- Microsoft Silverlight 2.0 その2 (1001) - [78%] - 2008/11/21 11:47 ○
- Microsoft Silverlight 2.0 (1001) - [74%] - 2008/5/12 6:08 ○
- Silverlight登場で.NET使い大勝利!!! Part2 (525) - [18446744073709551603%] - 2016/10/16 0:30 ○
トップメニューへ / →のくす牧場書庫について