|
You could check the lstSomething.SelectedItems it should give you all the selected items. Then use a for each or iterate through the collection.
|
|
|
|
|
i have created a control template for flashing button
<ControlTemplate x:Key="buttonTemplate" TargetType="{x:Type Button}">
<Border x:Name="AnimatedColorButton" Width="100" Height="30" BorderThickness="2" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<Border.Triggers>
<EventTrigger RoutedEvent="Border.Loaded"> <BeginStoryboard><pre lang="text">
<Storyboard >
<DoubleAnimation Storyboard.TargetName="AnimatedColorButton" Storyboard.TargetProperty="Background.Opacity"
RepeatBehavior="Forever"
AutoReverse="True"
To="0.0"
Duration="0:0:0.5" ></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Border.Triggers>
</Border>
</ControlTemplate>
Its displays the button with Flashing while loading.
But when i Change the border color from code behind
button1.BorderBrush = Brushes.Blue;
Then the a flashing stops .
How to active it again ?how to trigger the border.loaded event from code behind ?
|
|
|
|
|
Hi All, i am attaching my class design and the xaml code which i am using to create a treeview item with circular reference. I am able to update the collecitons from the codebehind but unfortuntely it is not reflecting in the code behind. Please help me in esolving this
public class EntityDesignElement : NotifyPropertyChangedBase
{
private string _id;
private ObservableCollection<EntityDesignElement> _children = new ObservableCollection<EntityDesignElement>();
private ObservableCollection<WrapperMetadataExtension> _extensions = new ObservableCollection<WrapperMetadataExtension>();
public ObservableCollection<WrapperMetadataExtension> Extensions
{
get { return _extensions; }
set
{
_extensions = value;
}
}
protected EntityDesignElement(EntityDesignElement parent)
{
Parent = parent;
_children.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs args) { OnPropertyChanged("HasChildren"); };
_children.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs args) { OnPropertyChanged("IsExtensionAddedToChildren"); };
_extensions.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs args) { OnPropertyChanged("IsExtensionAddedToChildren"); };
}
public EntityDesignElement(EntityDesignElement parent, EntityInfo info)
: this(parent)
{
Name = info.Name;
Type = info.Id;
ElementType = "Entity";
IsChildrenAllowed = true;
foreach (var property in info.Properties)
{
Children.Add(new EntityDesignElement(this, property));
}
}
public EntityDesignElement(EntityDesignElement parent, EntityPropertyInfo propertyInfo)
: this(parent)
{
Name = propertyInfo.Name;
ElementType = "Property";
Type = propertyInfo.DataType;
IsChildrenAllowed = (((propertyInfo.PropertyType == EntityPropertyType.Reference)
|| (propertyInfo.PropertyType == EntityPropertyType.ReferenceCollection))
&& (!IsCircularReference(Type)));
if (IsChildrenAllowed)
{
var entity = ClientConnector.Current.Metadata.GetEntity(propertyInfo.DataType);
if (entity != null)
foreach (var property in entity.Properties)
{
EntityDesignElement child = new EntityDesignElement(this, property);
Children.Add(child);
}
}
}
public void AddExtension(EntityDesignElement parent, WrapperMetadataExtension extension)
{
Parent.Extensions.Add(extension);
}
public EntityDesignElement Parent { get; private set; }
public string Name
{
get { return _id; }
set { SetAndNotifyPropertyChanged<string>("Id", ref _id, value); }
}
public string ElementType { get; private set; }
public string Type { get; private set; }
public bool IsChildrenAllowed { get; private set; }
public bool HasChildren { get { return (_children.Count > 0); } }
public bool IsExtensionAddedToChildren {
get { return (Parent.Extensions.Count>0); }
}
public ObservableCollection<EntityDesignElement> Children { get { return _children; } }
private bool IsCircularReference(string type)
{
if (Parent == null)
return false;
if (Parent.Type.Equals(type))
return true;
return Parent.IsCircularReference(type);
}
public ObservableCollection<MetadataExtension> GetMetadataExtensions()
{
ObservableCollection<MetadataExtension> colls = new ObservableCollection<MetadataExtension>();
return colls;
}
}
<UserControl x:Class="CeniumDesignTool.Controls.Designer.MetadataEntityControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:Utitlity="clr-namespace:CeniumDesignTool.Utilities"
xmlns:metadata="clr-namespace:Cenium.Framework.Client.Application.ResourceModel.Metadata;assembly=Cenium.Framework.Client.Resources"
mc:Ignorable="d" x:Name="MetadataEntityControlRoot"
d:DesignHeight="300" d:DesignWidth="300">
<Grid x:Name="LayoutRoot" DataContext="{Binding ElementName=MetadataEntityControlRoot}">
<Grid.Resources>
<Utitlity:ExtensionConverter x:Key="extConverter"/>
<Style TargetType="TextBlock" x:Key="txtEntityInfoStyle">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Utitlity:MetadataTemplateSeletor x:Key="TempSelector"/>
<BitmapImage x:Key="imgLock" UriSource="pack://application:,,,/Resources/Images/lock.png" />
<BitmapImage x:Key="imgExtension" UriSource="pack://application:,,,/Resources/Images/extension.png" />
<HierarchicalDataTemplate x:Key="MetadataEntityParentTemplate" ItemTemplateSelector="{StaticResource ResourceKey=TempSelector}">
<HierarchicalDataTemplate.ItemsSource>
<MultiBinding Converter="{StaticResource extConverter}">
<Binding Path="Children" UpdateSourceTrigger="PropertyChanged"/>
<Binding Path="Extensions" UpdateSourceTrigger="PropertyChanged"/>
</MultiBinding>
</HierarchicalDataTemplate.ItemsSource>
<Border BorderBrush="Black" Margin="2,2,2,2" BorderThickness="1" CornerRadius="17" Background="Gray" Padding="0,0,5,0">
<Grid Width="Auto" MinWidth="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="1" Text="{Binding Type}"
Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource txtEntityInfoStyle}" />
<Rectangle Grid.Column="2" Height="20" Width="20" Margin="5" Stroke="Black" HorizontalAlignment="Right" VerticalAlignment="Center">
<Rectangle.Fill>
<ImageBrush ImageSource="{StaticResource imgLock}"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Border>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="MeatadataEntityExtensions" ItemsSource="{Binding Path=Parameters}">
<Grid Width="250">
<Border BorderBrush="Black" BorderThickness="1" CornerRadius="17" Margin="2,2,2,2" Padding="0,0,5,0" Background="LightGreen">
<StackPanel Width="auto" MinWidth="200" Orientation="Horizontal">
<TextBlock Margin="5" Text="{Binding ExtensionType, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" Style="{StaticResource txtEntityInfoStyle}" ></TextBlock>
<TextBlock Margin="5" Text="{Binding Property}" VerticalAlignment="Center" Grid.Column="1" Style="{StaticResource txtEntityInfoStyle}" ></TextBlock>
<Rectangle Height="20" Width="20" Margin="5" Stroke="Black" HorizontalAlignment="Right">
<Rectangle.Fill>
<ImageBrush ImageSource="{StaticResource imgExtension}"/>
</Rectangle.Fill>
</Rectangle>
</StackPanel>
</Border>
</Grid>
</HierarchicalDataTemplate>
<DataTemplate x:Key="MeatadataEntityProperties">
<Border BorderBrush="Black" BorderThickness="1" CornerRadius="17" Padding="0,0,0,0" Background="Gray" Margin="2,2,2,2">
<Grid Width="auto" MinWidth="200" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Margin="20,0,0,0" Text="{Binding Name}" Style="{StaticResource txtEntityInfoStyle}"></TextBlock>
<TextBlock Grid.Column="1" Margin="0" Text=" : " Style="{StaticResource txtEntityInfoStyle}"/>
<TextBlock Grid.Column="2" Margin="0" Text="{Binding PropertyType}" Style="{StaticResource txtEntityInfoStyle}"/>
<TextBlock Grid.Column="3" Margin="0" Text=" ( " Style="{StaticResource txtEntityInfoStyle}"/>
<TextBlock Grid.Column="4" Margin="0" Text="{Binding Reference}" Style="{StaticResource txtEntityInfoStyle}"/>
<TextBlock Grid.Column="5" Margin="0" Text=" ) " Style="{StaticResource txtEntityInfoStyle}"/>
<Rectangle Grid.Column="6" Height="20" Width="20" Margin="5" Stroke="Black" HorizontalAlignment="Right">
<Rectangle.Fill>
<ImageBrush ImageSource="{StaticResource imgLock}"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Border>
</DataTemplate>
<HierarchicalDataTemplate x:Key="ClassReferenceMetadataEntity" ItemsSource="{Binding Path=Children}">
<Border BorderBrush="Black" Margin="2,2,2,2" BorderThickness="1" CornerRadius="17" Background="Gray" Padding="0,0,0,0">
<Grid Width="Auto" MinWidth="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" Grid.Column="0"
Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource txtEntityInfoStyle}" />
<TextBlock Text=":" Grid.Column="1"
Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource txtEntityInfoStyle}" />
<TextBlock Text="{Binding Type}" Grid.Column="2"
Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource txtEntityInfoStyle}" />
</Grid>
<Rectangle Grid.Column="2" Height="20" Width="20" Margin="5" Stroke="Black" HorizontalAlignment="Right" VerticalAlignment="Center">
<Rectangle.Fill>
<ImageBrush ImageSource="{StaticResource imgLock}"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</Border>
</HierarchicalDataTemplate>
</Grid.Resources>
<TreeView x:Name="ListViewExtensionTypesDesign" AllowDrop="True" Width="auto" Height="auto" ItemsSource="{Binding}" ItemTemplate="{StaticResource MetadataEntityParentTemplate}" TreeViewItem.Selected="ListViewExtensionTypesDesign_Selected">
</TreeView>
</Grid>
</UserControl>
Geetha
|
|
|
|
|
Hello,
I want to add dynamically many controls to a window.
I wanted to use a stack panel container but a stack panel has either horizontal or vertical orientation.
I want to add the control horizontally and when there are three user controls in one row i want to go to next row and start adding the controls there and so on.
The user can also delete a control so the other controls have to be reorganized automatically.
Any one has an idea how to do it?
Thanks.
|
|
|
|
|
Use a "UniformGrid" with 3 columns for organizing the controls, and the .Children.Add method to add controls.
Use the .Children.Remove method to "delete" a control.
|
|
|
|
|
I used a wrap panel from the tool kit for this, bind it to a collection and add/delete the items in the collection.
<ItemsControl Grid.Row="1" ItemsSource="{Binding FleetList}" HorizontalAlignment="Center" VerticalAlignment="Center">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<HyperlinkButton Click="HyperlinkButton_Click" Tag="{Binding Path=FleetID}" HorizontalContentAlignment="Center" >
<Grid HorizontalAlignment="Center" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Stretch="None" Source="{Binding Path=FleetLogoUri}" HorizontalAlignment="Center" ImageFailed="GetDefaultImage" Loaded="ImageLoaded" />
<TextBlock Grid.Row="1" Foreground="Blue" Text="{Binding Path=Fleet}" HorizontalAlignment="Center" />
</Grid>
</HyperlinkButton>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
How to add multiple button into same datacell in DataGrid column. i know how to add one button into datacell but i want to add two button into same cell please let me know that? please help me
|
|
|
|
|
Use a DataGridTemplateColumn and host the buttons inside there. Have a look at this[^].
|
|
|
|
|
Yes that i have done so cool
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Width="170" HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Button Name="btn_Close" Style="{StaticResource FormContentButtonStyle_LA}" Content="Close" Click="btn_Close_Click" />
<Button Name="btn_Delete" Style="{StaticResource FormContentButtonStyle_LA}" Visibility="{Binding IsDeleted, Mode=TwoWay}" Content="Delete" Click="btn_Delete_Click" />
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
|
|
|
|
|
The common convention is to up vote a good answer (little arrows that appear on the right of the answer)
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi,
I'm working on loading xaml code at runtime.
Until now, I can do it with XAML files which are set as "Resource"...but I would like to load it from a user's folder (let's say the "Desktop Folder" for example)
How should I please proceed?
The XAML example file, loaded as resource file in my project (but I would like to use it "independently")
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border Width="385" Height="385" Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" CornerRadius="8" Background="#FF0085C8">
</Grid>
The Application XAML code
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
</Window>
The Application VB.Net code
Class MainWindow
Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim GridUri As New Uri("Resources\theme.xaml", UriKind.Relative)
Dim sri As Windows.Resources.StreamResourceInfo = Application.GetResourceStream(GridUri)
Dim xrdr As New System.Windows.Markup.XamlReader()
Dim grd As Grid = CType(xrdr.LoadAsync(sri.Stream), Grid)
Me.Content = grd
End Sub
End Class
Thank you!
|
|
|
|
|
if your application is WPF application you can load a physical file
Imports System.Windows.Markup
Class MainWindow
Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs)
Dim objXaml = XamlReader.Load(IO.File.Open(Environment.CurrentDirectory & "Resource\theme.xaml", IO.FileMode.Open))
End Sub
End Class
if it was a silverlight application you cant do that
... Marimuthu
|
|
|
|
|
Hi! I have some WPF windows built in a class library. Also I have unmanaged app that calls these windows through ComVisible interface.
The problem: I have a big delay on calling WPF windows first time.
I suppose it happens because WPF engine loading.
Please, suggest some ideas or workarounds on performance improvements.
Thanks!
|
|
|
|
|
If you want performance improvements then you should not be using managed code from an unmanaged application.
Use the best guess
|
|
|
|
|
Iam new to WPF .can anybody give some sample application with feature like add,delete and update data from grid control using MVVM approach.
Bit confused with this approach.
Thanks in advance.
|
|
|
|
|
Member 8786335 wrote: sample application
Did you try searching CodeProject and see if any of the projects there help you at all. There is an extensive WPF section......
|
|
|
|
|
Josh Smiths MSDN[^] article goes through the whole process
When I was a coder, we worked on algorithms. Today, we memorize APIs for countless libraries — those libraries have the algorithms - Eric Allman
|
|
|
|
|
|
You could try reading my article series on MVVM - it's a basic example of editing from a grid using MVVM with no framework (see my sig for a link)
|
|
|
|
|
Hi,
I have a silverlight project for file uploading. I have one problem.i.e., When uploading a file from browser, It doesn't displays the error. But when uploading a file from localhost, it displays the error.
For your reference : http://epstechno.com/metroepstechno/Default.aspx
Here you can check the problem what i mentioned above.
Please reply as soon as possible.
|
|
|
|
|
What error are you getting? You really need to supply this information.
|
|
|
|
|
I got file path error in local host, But when i am hosting that in server, it doesn't shows the error message please check http://epstechno.com/metroepstechno/Default.aspx this link
|
|
|
|
|
And what good would surfing to the link that doesn't fail do? If you've got an error in your local version, it should be easy enough for you to debug it.
|
|
|
|
|
how to make a interesting form in wpf c sharp application
|
|
|
|
|