मैं छवि में एक बटन और बटन प्रदर्शित करने के लिए एक बटन टेम्पलेट बनाना चाहता हूं। मैं बटन पर एक क्षैतिज stackpanel का उपयोग करने के बारे में thiking।किसी छवि के साथ wpf बटन बनाएं और एक टेक्स्ट
मैं लेबल प्रदर्शित करने में सफल नहीं हूं।
<ControlTemplate TargetType="{x:Type Button}" x:Key="BoutonImageEtTexte">
<Button Grid.Column="2" BorderBrush="Transparent" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" Width="90" Height="27" >
<Button.Content>
<StackPanel Orientation="Horizontal">
<Border CornerRadius="3">
<ContentPresenter/>
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Background" Value="#58585a" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource DegradeCouleurTheme}" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
<Label>
<Label.Content>Fichiers joints</Label.Content>
<Label.Foreground>white</Label.Foreground>
<Label.VerticalAlignment>center</Label.VerticalAlignment>
<Label.HorizontalAlignment>center</Label.HorizontalAlignment>
</Label>
</StackPanel>
</Button.Content>
<Button.Style>
<Style TargetType="{x:Type Button}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}" >
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
यहाँ इस टेम्पलेट के अपने कॉल है:
यहाँ मेरी टेम्पलेट है
<Grid Margin ="10,180,10,14">
<Button Template="{StaticResource BoutonImageEtTexte}" HorizontalAlignment="Left" Margin="13,0,0,0">
<Image Source="ToolBar_FicJoints.png" />
</Button>
</Grid>
यहाँ एक पाठ बॉक्स के बजाय एक लेबल के साथ एक और तरीका है
<ControlTemplate TargetType="{x:Type Button}" x:Key="BoutonImageEtTexte">
<Button Grid.Column="2" BorderBrush="Transparent" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" Width="90" Height="27" >
<Button.Content>
<StackPanel Orientation="Horizontal">
<Border CornerRadius="3">
<ContentPresenter/>
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Background" Value="#58585a" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource DegradeCouleurTheme}" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
<TextBlock Text="LabelText" />
</StackPanel>
</Button.Content>
<Button.Style>
<Style TargetType="{x:Type Button}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}" >
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
</ControlTemplate>
मेरी समस्या यह है कि मैं अपनी छवि को ऑनल करता हूं, और मेरा लेबल टेम्पलेट में निर्दिष्ट नहीं है। कोई भी मेरी मदद कर सकता है?
धन्यवाद एक बहुत :)
आपकी अवधारणा पूरी तरह से बंद है। यदि आप सामग्री के रूप में एक से अधिक आइटम लेने के लिए बटन का नियंत्रण टेम्पलेट बनाना चाहते हैं, तो आपको अतिरिक्त निर्भरता संपत्ति बनाना होगा। – TYY
क्या आप कृपया मुझे ऐसा करने के लिए एक उदाहरण दे सकते हैं? –
यह एक अच्छी पोस्ट की तरह लगता है ... http://blogs.msdn.com/b/knom/archive/2007/10/31/wpf-control-development-3-ways-to-build-an-imagebutton। एएसपीएक्स – PGallagher