|
Hi,
I am now confident about how to navigate between usercontrols and navigation pages...
How can i pass a value from say navigation page1 to navigation page2.xaml by clicking a hyperlink button?
Thanks
|
|
|
|
|
A common way to accomplish this is to have a static class which is used to place the value in. As you know, a static class is globally scoped so the whole application sees the same instance. There is a trend to see people recommending that the value is placed in the App class as this is available all over - do not do this; this is bad practice.
|
|
|
|
|
I think I see what you mean.
I know that the static class does not have to be instantiated...
How can I place the value inside this static class so that it gets passed to page2.xaml from page1.xaml ?
Do you mean to create a static class and add property get and set for each parameter name?
I tried it and seems to work. I always thought in silverlight you pass parameters between pages as in asp.net which is like ?value1=xyz&value=sas...
Thanks
modified on Thursday, March 31, 2011 11:30 AM
|
|
|
|
|
Suppose that you want something a little bit more complicated:
public class MyModel
{
public string ForeName { get; set; }
public string Surname { get; set; }
} Well, you could have a class - we'll call it NavigationManager - that looks like this:
public static NavigationManager
{
static NavigationManager()
{
Page1Model = new MyModel{ ForeName = string.Empty, Surname=string.Empty };
}
public MyModel Page1Model { get; set; }
} Then, setting your values is as simple as:
NavigationManager.Page1Model.ForeName = myForename;
NavigationManager.Page1Model.Surname = mySurname; Retrieving the data from another page is just as trivial (although I'd prefer to use the ViewModel on both sides rather than code behind).
|
|
|
|
|
I have now created a static class with static properties.
Placed the properties inside the class with get and set.
page1 sets the value of the property and then navigates to page2.
page2 reads the property from the static class.
Is this method in silverlight more efficient or better than the asp.net method which was like &value1=xyz&value2sdd... and request.param[value1]... ?
Thanks
|
|
|
|
|
Well, one of the issues with the ASP.NET way of doing things is you lost type safety with the parameters. Effectively they were strings. If, also, your parameter name was slightly different on both sides, then you'd never get the value.
|
|
|
|
|
|
Hello,
I have a window with a listbox bound to a User table in a DataSet, which displays the userid column:
<Window Name="ParentWindow" ...>
....
<ListBox Name="listBoxUsers" ItemsSource="{Binding User}"
SelectionChanged="listBoxUsers_SelectionChanged"
SelectedItem="{Binding ElementName=ParentWindow,Path=CurrentUser,Mode=OneWayToSource}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=userid}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
I managed to bind the current selection to a DataRowView property in the window:
public DataRowView CurrentUser
{
set
{
System.Diagnostics.Trace.WriteLine(value);
}
}
However, I'd like to bind to a string property:
public string CurrentUser
{
set; private get;
}
...so that I can read the currently selected userid easily via getCurrentUser().
Is that feasible ?
Thanks,
J-L
-- Modified Thursday, March 31, 2011 11:16 AM
|
|
|
|
|
Is CurrentUser as row?
If so then simply get the column value from the datarow. You may need another property or you may be able to bind to required columns value.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
In design view, I can see the image control populated with the image file, but the image is not shown at run time.
Any thoughts please?
This is the xaml I am using:
<Image Name="myLogo" Source="/images/logo_my.png" Grid.Column="0" Grid.Row="0"
Stretch="Fill"/>
|
|
|
|
|
My first thought is that the image is not linked properly to your Xap. In other words, you haven't set the type to Content and set CopyToOutputDirectory. If you open up your Xap, you'll find that the image is not there (An Xap is just a zipped format, so you can rename it to zip and open it up).
|
|
|
|
|
Working now.
Well done.
Thanks
|
|
|
|
|
|
arkiboys
May I make a suggestion, Pete answers a lot of our questions with very useful info, it is polite to up vote his response when it meets your approval. While the vote could come from someone else I suggest you use the voting to thank him.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
ok, thanks
Solved.
modified on Thursday, March 31, 2011 11:15 AM
|
|
|
|
|
Thanks mate. As long as there's a SOLVED somewhere to indicate that the issue is resolved, that's the main thing. As he always thanks me, I'm happy with that - and I'll always upvote a thanks.
|
|
|
|
|
Pete O'Hanlon wrote: As he always thanks me
Sure the guy is polite and appreciative but quite possibly does not realise that an upvote has value unto itself.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Well, I don't think he's going to have that much of an overall effect on my reputation
|
|
|
|
|
Hi,
I am using silverlight 4.
My project has navigation frame.
page1.xaml has a datagrid which can sometimes have many records.
If the datagrid in page1.xaml has many records, then I do not see the records at the bottom of the datagrid. And there is no scrollbar to scroll to the bottom of the data in the datagrid.
Can you see what is wrong with this xaml in the mainpage.xaml please?
<Border Margin="10,10,10,12" Padding="10" BorderBrush="DarkGray" BorderThickness="2"
CornerRadius="4" Grid.Row="1" Grid.Column="1">
<navigation:Frame x:Name="mainFrame" UriMapper="{StaticResource UriMapper}"
Source="Home" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >
</navigation:Frame>
</Border>
Thank you
modified on Thursday, March 31, 2011 4:16 AM
|
|
|
|
|
Wrap navigation:Frame in a ScrollViewer panel.
|
|
|
|
|
|
|
Hi,
I have a page on a windows phone 7 app, that I want to be able to click to specific button say a "Message" button and it would navigate to the Message panorama item on another panorama page.
How would I go about navigating to a specific panorama item?
Thanks
|
|
|
|
|
Anyone know how to style a Telerik RadRadioButton so that it works like MS Office Ribbon buttons? When you select a button, or hover over it, I want to see the button's gradient color and border. When not selected or hovered over, I want to button to not show the effect.
Telerik's help isn't too helpful. Google didn't help either.
Thanks
Everything makes sense in someone's mind
|
|
|
|
|
You just need to modify the control template and add a MouseOver trigger the same as you would any other control. If they don't give you the XAML templates, you can dump them out with Blend.
|
|
|
|