ExpressionBlendに素敵なボタンを作成しました。うまく動作し、背景色などの依存プロパティをいくつか持っています。デザイン時に透明なWPFコントロール
Visual Studioでプロジェクトを作成し、dllをインポートし、ツールボックスにUserControlをドラッグして、ページにドラッグすると、trasnparent squareが表示されます。私は、エディタ内のすべてのプロパティを設定することができ ..それがなぜ起こるかできる任意の手掛かりを私もアプリケーションを実行することができますし、私のユーザーコントロールは
しかし、それは、デザイナーのために動作しません正しくすべての色を示すありますか?
私はいくつかのソースを追加することができますが...非常に単純なものです。..
注:ユーザーコントロールのDLLはAnyCPUのターゲットプラットフォームに対してコンパイル、およびアプリケーションは、x64用です。
public partial class InteractiveRisedButton : UserControl
{
public event EventHandler g_Clicked;
public string ButtonBackground
{
get { return (string)GetValue(ButtonBackgroundProperty); }
set { SetValue(ButtonBackgroundProperty, value); }
}
public string InnerTextContent
{
get { return (string)GetValue(InnerTextProperty); }
set { SetValue(InnerTextProperty, value); }
}
public static readonly DependencyProperty ButtonBackgroundProperty =
DependencyProperty.Register("ButtonBackground", typeof(string), typeof(InteractiveRisedButton));
public static readonly DependencyProperty InnerTextProperty =
DependencyProperty.Register("InnerTextContent", typeof(string), typeof(InteractiveRisedButton));
public InteractiveRisedButton()
{
InitializeComponent();
}
}
XAML::私はドラッグ&ドロップを使用して、それを埋め込むホストプロジェクトで
<UserControl x:Name="InterRisedButton" x:Class="gMaterialWPF.InteractiveRisedButton">
<UserControl.Resources>
<Style x:Key="InteractiveRisedButtonStyle"
... lots of stuff here
Background color is binded here like:
<Border x:Name="area" Cursor="Hand" Background="{Binding ButtonBackground, ElementName=InterRisedButton}" BorderThickness="0">
</UserControl.Resources>
<Grid>
<Button x:Name="button" Content="{Binding InnerTextContent, ElementName=InterRisedButton}" Margin="0" Style="{DynamicResource InteractiveRisedButtonStyle}" Click="button_Click"/>
</Grid>
、それが終わる4.6.1 .NetFW
いくつかのコードに基づいて、すべての
<page
xmlns:gMaterialWPF="clr-namespace:gMaterialWPF;assembly=gMaterialWPF"
>
<gMaterialWPF:InteractiveRisedButton Foreground="Red" ButtonBackground="Green" InnerTextContent="HOLA!" Height="100" Margin="0,50,0,20" ClipToBounds="False"/>
</page>
これは私がエディタで見たものである。
これは私が実行中のアプリケーションで見たものである。
ヒントのおかげで、コンストラクタとinitializeComponentsがあります。私はそれがなくてもアプリケーションを実行しても動作しないと思います。 – javirs
バインディングを削除してテキストをハードコードしましたが、同じ動作があります。背景色、枠線、影、何もないことに注意してください。テキストだけではない – javirs