|
That's a good one, many thanks.
dev
|
|
|
|
|
You're welcome.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
hi friends..
Currently i am developing wpf application using mvvm pattern.
I have one textbox in which user enters his username and another passwordbox in which he enters password.
Now what i want, after entering password when user press enter then LoginCommand which is binded with LoginButton will be fire..
This thing will be done if i wrote keypress event on codebehind..but i am using mvvm pattern so how to handle this in viewmodel??
Thanks a lot..
|
|
|
|
|
First of all, you don't have to get completely hung up on the View having no code behind it, in MVVM - it's a convention, not a hard and fast rule. Secondly, you should set your login button to be the default button using IsDefault="true" in the button attributes; this will trigger the Command behind the button on an Enter press.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
Thanks a lot..
IsDefault=true works for me..
|
|
|
|
|
You're welcome.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
Hi All,
i have a big problem with my wpf C# application, that is when i set Height and width to Polygon shape it comes as cut shape
how can avoid this problem
Thanks
Vineeth
|
|
|
|
|
If you place it in a grid and resize the grid, it should maintain shape as long as your resize porportionally.
You can also place it in a ViewBox to handle resizing.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Hi Karl,
Thanks for reply
but i have some other problems occur when i place in viewBox or Grid, it is a Vector editing Application that have 2 type selection, first one is Direct Selection that helps for Standard resizing(Height and Width) next is Node selection that helps for Node editing (Drag and change the polygon points using a Adorner Thumb), when i place the polygon in a viewbox i cant do Node Editing, so please check this sample and give a reply
Thanks
Vineeth
<Window x:Class="SampleApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Sample" Height="600" Width="922" WindowState="Maximized" Loaded="Window_Loaded">
<Grid>
<Canvas Name="myCanvas" Background="AliceBlue">
<Polygon Name="polygonFill" Stretch="Fill" Points="177,177 0,177 88.5,0" Fill="Transparent" Stroke="Black" StrokeThickness="2" Canvas.Left="100" Canvas.Top="100"
Height="{Binding ElementName=sliderStretchFill,Path=Value}"
/>
<Slider Name="sliderStretchFill" Width="150" Height="22" Canvas.Left="112" Canvas.Top="35" Minimum="10" Maximum="200" Value="100" />
<Label Canvas.Left="100" Canvas.Top="66" Height="28" Name="lblStretchFill" Width="77">Stretch="Fill"</Label>
<Label Canvas.Left="175" Canvas.Top="66" >Height=</Label>
<Label Canvas.Left="215" Canvas.Top="66" Height="28" Name="lblStretchHeight" Width="29" Content="{Binding ElementName=sliderStretchFill,Path=Value}"/>
<Polygon Name="polygonNone" Stretch="None" Points="177,177 0,177 88.5,0" Fill="Transparent" Stroke="Black" StrokeThickness="2" Canvas.Left="700" Canvas.Top="100"
Height="{Binding ElementName=sliderStretchNone,Path=Value}"
/>
<Slider Name="sliderStretchNone" Width="150" Height="22" Canvas.Left="712" Canvas.Top="35" Minimum="10" Maximum="200" Value="100" />
<Label Canvas.Left="700" Canvas.Top="66" Height="28" Name="lblStretchNone" Width="91">Stretch="None"</Label>
<Label Canvas.Left="785" Canvas.Top="66" >Height=</Label>
<Label Canvas.Left="825" Canvas.Top="66" Height="28" Name="lblStretchNoneHeight" Width="29" Content="{Binding ElementName=sliderStretchNone,Path=Value}"/>
</Canvas>
</Grid>
</Window>
namespace SampleApplication
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
Selection selection;
AdornerLayer adornerLayer;
void AddAdornerLayerToPolygonFill()
{
adornerLayer = AdornerLayer.GetAdornerLayer(polygonFill);
selection = new Selection(polygonFill);
adornerLayer.Add(selection);
}
void AddAdornerLayerToPolygonNone()
{
adornerLayer = AdornerLayer.GetAdornerLayer(polygonNone);
selection = new Selection(polygonNone);
adornerLayer.Add(selection);
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
AddAdornerLayerToPolygonFill();
AddAdornerLayerToPolygonNone();
}
}
}
namespace SampleApplication
{
class Selection : Adorner
{
VisualCollection visualChildren;
Polygon polygon;
Point point;
ArrayList thumbArrray = new ArrayList();
Thumb thumb;
public Selection(UIElement adornedElement)
: base(adornedElement)
{
visualChildren = new VisualCollection(this);
polygon = (Polygon)adornedElement;
for (int i = 0; i < polygon.Points.Count; i++)
{
point = polygon.Points[i];
thumb = new Thumb();
BuildCorner(ref thumb, Cursors.SizeNESW);
thumb.Tag = i;
thumb.DragDelta += new DragDeltaEventHandler(thumb_DragDelta);
thumbArrray.Add(thumb);
}
}
void thumb_DragDelta(object sender, DragDeltaEventArgs e)
{
FrameworkElement adornedElement = this.AdornedElement as FrameworkElement;
polygon = (Polygon)adornedElement;
thumb = (Thumb)sender;
point = polygon.Points[(int)thumb.Tag];
point.X += e.HorizontalChange;
point.Y += e.VerticalChange;
polygon.Points[(int)thumb.Tag] = point;
adornedElement = polygon;
InvalidateArrange();
}
void BuildCorner(ref Thumb cornerThumb, Cursor customizedCursor)
{
cornerThumb = new Thumb();
cornerThumb.Height = cornerThumb.Width = 10;
cornerThumb.Background = Brushes.Black;
cornerThumb.Cursor = customizedCursor;
cornerThumb.Opacity = 0.80;
visualChildren.Add(cornerThumb);
}
protected override Size ArrangeOverride(Size finalSize)
{
FrameworkElement adornedElement = this.AdornedElement as FrameworkElement;
polygon = (Polygon)adornedElement;
for (int i = 0; i < polygon.Points.Count; i++)
{
point = polygon.Points[i];
thumb = (Thumb)thumbArrray[i];
thumb.Arrange(new Rect(point.X - 5, point.Y - 5, 10, 10));
}
return finalSize;
}
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
}
}
|
|
|
|
|
I don't get what the problem is.
If you want the poly to maintain shape, shouldn't you have to change the height and width together?
When I changed the height, I got the expected behavior.
Sorry I'm not understanding.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Hi,
thanks for your reply
First change the height then change each point using adorner Thumb that added to the shape to reproduce the issue
Thanks
|
|
|
|
|
Hi
I am working on WPF and I need to place a Datagrid in this page for displaying the table data. But I found that in WPF we will not have Datagrid. But how can I do this.
If anyone have any idea to get the datagrid in WPF, please reply me.
Thanks in advance.
|
|
|
|
|
There a microsoft one on Codeplex or a free one from Xceed
|
|
|
|
|
Hi , there are many ways to do it
a) You can get one from codeplex
b) Infragistics control [ I am using this in my current project ]
c) You can use a List box in place of a grid.
d) Make google search for more information
Hope this helps
Niladri Biswas
|
|
|
|
|
I was wondering if anyone knew how I can give the user the ability to move an image element. Basically, I want to be able to allow the user to drag the image over a listbox and have a drop effect. Below is my xaml code:
<StackPanel Grid.Row="0">
<Border CornerRadius="4" Background="LightYellow" BorderBrush="Black" BorderThickness="2">
<Label x:Name="location" HorizontalAlignment="Center" Height="30" FontSize="12" VerticalAlignment="Center">Person Information</Label>
</Border>
<Image Width="150" Height="150" Margin="5" PreviewMouseLeftButtonDown="gridImage_PreviewMouseLeftButtonDown" PreviewMouseMove="gridImage_PreviewMouseMove" x:Name="gridImage" >
Image.RenderTransform>
<TranslateTransform x:Name="imgTranslate" X="0" Y="0" />
</Image.RenderTransform>
</Image>
</StackPanel>
I'm currently using the PreviewMouseLeftButton and PreviewMouseMove buttons to create a drop effect and this works fine; but I would like to make it more animated to where the user is actually dragging the image. Thanks.
Terrance C.
modified on Wednesday, June 3, 2009 11:37 AM
|
|
|
|
|
Check out Josh Smith's article on WPF Drag & Drop here on Code Project.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Thanks, for the information.
Terrance C.
|
|
|
|
|
Hi All,
I've recently been having bags of fun getting an app working on 32bit and 64bit windows. Since I don't have access to a 64bit machine getting a grip on the issues has been a complete nightmare. So I've opted to build the app specifically for x86 and run the app in WOW mode on 64bit machines. All good. I have had positive feedback on this having been successful and the app is running on 64bit.
However, a couple of thge 64bit testers have said they have noticed a fair dip in UI performance. None of the codebase has changed between the version they previously ran and this new x86 compiled version.
Has anyone else seen this with an x86 compiled app running in WOW mode on 64bit machines?
Cheers,
|
|
|
|
|
Hi
Does anyOne know how to style scrollbar of wpf datagrid. I saw articles styling scrollbars in general, but I don't know how to do it for wpf datagrid.
Thanks,
Vsaratkar
|
|
|
|
|
You essentially need to start out with the existing datagrid template and change the scrollbar to your liking, creating a new template along the way.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
|
If you don't want to copy the entire DataGrid template, the scrollbars
are named "PART_HorizontalScrollBar" and "PART_VerticalScrollBar"...you
could find those controls at runtime and set their style/template appropriately.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
You can also take a scrollbar template like the example at
ScrollBar ControlTemplate Example[^] and put it
right in the DataGrid's resources (or any place in the resources "above" the datagrid.
If the style doesn't have a key then the DataGrid will automagically use it on its
scrollbars.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I was just going to say that, scroll bars are a great candidate for a typed style rather than x:key="" type. Nice and consistent.
|
|
|
|
|
Thanks Mark,
I achieved what I was looking for.
|
|
|
|