私はTiltEffectをマイクロソフトが提供しています。私は傾動可能項目のリストにTextBlockのタイプを追加した場合でも、しかし、それは動作しません、のTextBlockでそれを使用しようとしています:TextBlockのTiltEffect
TiltEffect.TiltableItems.Add(typeof(System.Windows.Controls.TextBlock));
しかし、私はボーダーでのTextBlockを囲む場合を入力し、TapイベントをBorderに移動すると、正しく動作します。
この現象には具体的な理由はありますか?タップ可能なすべてのTextBlockをBordersで囲むことはあまりにもエレガントではありません。
更新:Rectangleシェイプについても同様です。
アップデート2:<UserControl x:Class="MyApp.Controls.TiltableTextBlock"
Name="tiltableTextBlock"
...>
<Button Margin="0" Padding="0">
<Button.Template>
<ControlTemplate>
<TextBlock Margin="0" Padding="0"
Text="{Binding Text, ElementName=tiltableTextBlock}"
Style="{Binding Style, ElementName=tiltableTextBlock}" />
</ControlTemplate>
</Button.Template>
</Button>
</UserControl>
そして、背後にあるコードで:
はpublic partial class TiltableTextBlock : UserControl
{
public TiltableTextBlock()
{
InitializeComponent();
}
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(TiltableTextBlock), new PropertyMetadata(String.Empty));
//NOTE: hiding the Style property of the base class, so the Style does not get applied to the UserControl, rather to the TextBlock.
public new Style Style
{
get { return (Style)GetValue(StyleProperty); }
set { SetValue(StyleProperty, value); }
}
public new static readonly DependencyProperty StyleProperty =
DependencyProperty.Register("Style", typeof(Style), typeof(TiltableTextBlock), new PropertyMetadata(new Style(typeof(TextBlock))));
}
は、私は現在、他のTextBlock固有のプロパティを使用していない私の現在のソリューションは、回避策は、私はカスタムコントロールを定義していますテキストだけなので、TextWrapping、FontSizeなどが必要な場合は、同じ方法で実装する必要があります。
しかし、私はこの解決策に満足していないので、まだより洗練された回避策を探しています。
UPDATE3:上記のアプローチは完璧ではありません。「パラメータが間違っています」という例外が発生して非定常的にクラッシュすることがわかりました。例外(アプリケーションを起動した後にスローされることもあります。
私はこれは私はちょうど私の投稿の問題に関連していると思いますが。あなたの背景を透明にしようとしましたか? http://stackoverflow.com/questions/14664251/why-cant-i-tap-click-blank-areas-inside-of-a-border-contentcontrol-without-sett – kamranicus