|
Global.asax in Silverlight? I see there's a web.config (to my delight actually, just installed Silverlight it's my first try) but where would you put global init code in a silverlight app?
Thanks!
dev
|
|
|
|
|
Silverlight runs client-side...initialization is the same as for
any stand-alone application.
The System.Windows.Application class is the entry point...
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Wait a minute I just added Global.asax and Application_Start to my silverlight project
My new silverlight project even came with good old web.config - I don't even need to rewrite code so it feeds on XAML as in case of WPF.
thanks
dev
|
|
|
|
|
devvvy wrote: I just added Global.asax
devvvy wrote: My new silverlight project even came with good old web.config
Are you referring to the sample web project created to host your Silverlight app?
If so, that is a web app, not the Silverlight app.
Silverlight apps don't use a web.config - they run on the client.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
goodness... i looked closer. The web.config resides in ASP.NET project which is hosting the xap/Silverlight app. Also, I have a class library which I cannot reference from within the Silverlight project (not to mention log4net/nhibernate/spring.net)
dev
|
|
|
|
|
Jejejeje, it's normal to have that confusion when you start developing in Silverlight.
The most similar thing that you can fin in SL is the app object, there you will have global events and method (when the app starts which page to show, when an unhandled exception is thrown...).
If you want to add config data you can make your own XML and add it as a resource, another option is to read settings using a WCF services (in order to store them on the server side).
/// -------------------------
Braulio Díez
DBSchemaEditor.com
Free Silverlight based DB Schema Modeling Tool
/// -------------------------
|
|
|
|
|
Thanks mate, I got that one.
dev
|
|
|
|
|
Hey,
I am trying to get an object from my WPF ListBox. I have a WPF usercontrol(ResultsControl) and it uses a Listbox(lbResults) to Display my custom Objects from a Win form. I am making a new WPF usercontrol(ShowInfoUserControl) to display my custom object's information. The showInfoUserControl should only become visible with the objects's information, when I press on an object in the WPF ListBox. I use Hyperlink to tick the showInfoUserControl. I have tried to lbResults.SelectedItem and lbResults.SelectedValue without luck. Could any one help me please? Every advice will be grateful.
my method to get my custom objects (code behind for ResultsControl)
public void GetResults(Result result)
{
WPFResult wpfResult = new WPFhResult(result.ObjectId, result.Header, result.Name);
searchResultsList.Add(wpfSearchResult);
lbResults.ItemsSource = resultsList;
}
private void Windows_Loaded(object sender, RoutedEventArgs e)
{
AddHandler(Hyperlink.ClickEvent, (RoutedEventHandler)Infocard_Click);
}
method to call the ShowInfoUserControl
private void Infocard_Click(object sender, RoutedEventArgs e)
{
ShowInfoUserControl infocard = new ShowInfoUserControl();
infocard.GetInfocard((Result)lbSearchResults.SelectedValue);
}
These are my code behind in ShowInfoUserControl
public void GetInfocard(Result result)
{
Header.Text = result.Header;
Name.Text = result.Name;
}
my Xaml code for ShowInfoUserControl
<UserControl x:Class="WpfResultsControl.ShowInfoUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:svc="clr-namespace:WpfResultsControl"
Height="200" Width="200">
<Grid>
<StackPanel>
<TextBlock x:Name="Header" FontFamily="Tahoma" FontSize="8"></TextBlock>
<TextBlock x:Name="Name" FontFamily="Tahoma" FontSize="4"></TextBlock>
</StackPanel>
</Grid>
</UserControl>
Many thanks in advance.
|
|
|
|
|
saku69 wrote: lbResults.ItemsSource = resultsList;
What is type of resultsList ??
saku69 wrote: infocard.GetInfocard((Result)lbSearchResults.SelectedValue);
//infocard.GetInfocard((Result)lbSearchResults.SelectedItem);
Is resultsList a collection of Result objects ? If yes, then the above statement should work (if something is selected in the listbox i.e.)
What does lbSearchResults.SelectedItem show on the click handler ?
|
|
|
|
|
Is resultsList a collection of Result objects ? If yes, then the above statement should work (if something is selected in the listbox i.e.)
yes, the resultList is a collection that contains custom objecs.
What does lbSearchResults.SelectedItem show on the click handler ?
It should show a new WPF user control with obeject's info.
I use Hyperlink to tick the click handler.
|
|
|
|
|
saku69 wrote: contains custom objecs.
What is the type of the custom object ? Because when you bind to the List that would be the object you would getting as the SelectedItem. You would have to cast the SelectedItem based on that type.
e.g.
CustomObject selObject = ((sender as ListBox).SelectedItem) as CustomObject;
saku69 wrote: What does lbSearchResults.SelectedItem show on the click handler ?
I meant, when you debug it using a breakpoint in the click method what is the value showing for lbSearchResults.SelectedItem ? This should tell you which object is actually being returned as the SelectedItem.
|
|
|
|
|
Thanks this is helpful.
My custom object is a type Result, which I get from a Win app.
I tried to debug but the value is null. Very wird. I will go through my code and see what is missing.
|
|
|
|
|
saku69 wrote: lbResults.ItemsSource = resultsList;
that statement tells what the list is bound to. So, if you are seeing something in the List means that something is bound to it. The only thing which can make the SelectedItem null now is nothing actually seledted
|
|
|
|
|
I have been searching for errors, but it does not seem to be any.
My custom objects show in my ListBox, but as soon I click on my objects I get NullReference Exception on my GetInfocard method. I have also tried with event SelectionChanged in Listbox, still without luck.
this is my code behind class
namespace ShowResultsControl
private void Infocard_Click(object sender, RoutedEventArgs e)
{
InfocardUserControl infocard = new InfocardUserControl();
Result selObject = ((sender as ListBox).SelectedItem) as Result;
infocard.GetInfocard(selObject);
}
and XAML for my Usercontrol(usercontrol1) where my listBox is
<UserControl x:Class="WpfShowResultsControl.GetResultUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:svc="clr-namespace:ShowResultsControl"
Height="300" Width="300" >
<Grid>
<StackPanel>
<StackPanel.Resources>
<DataTemplate x:Key="resultLayout" DataType="WPFResult">
<StackPanel Orientation="Vertical">
<TextBlock Foreground="Blue" FontFamily="Tahoma" >
<Hyperlink Click="Infocard_Click">
<TextBlock Text="{Binding Path=Header}" />
</Hyperlink>
</TextBlock>
</StackPanel>
</DataTemplate>
</StackPanel.Resources>
<ListBox x:Name="lbResults" ItemTemplate="{StaticResource resultLayout}">
</ListBox>
</StackPanel>
</Grid>
</UserControl>
Now this is the code for my 2nd usercontrol, it should become visible, when I select an item in Listbox of Usercontrol1
code behind class for my 2nd usercontrol
namespace ShowResultsControl
{
public partial class InfocardUserControl : UserControl
{
public InfocardUserControl()
{
InitializeComponent();
}
public void GetInfocard(Result result)
{
Header.Text = result.Header;
Name.Text = result.Name;
}
}
}
and xaml
<UserControl x:Class="WpfShowResultsControl.InfocardUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:svc="clr-namespace:ShowResultsControl"
Height="200" Width="200">
<Grid>
<StackPanel>
<TextBlock x:Name="Header" FontFamily="Tahoma" FontSize="8"></TextBlock>
<TextBlock x:Name="Name" FontFamily="Tahoma" FontSize="4"></TextBlock>
</StackPanel>
</Grid>
</UserControl>
Could any one please tell me what I am missing to get it work??
modified on Monday, February 16, 2009 2:34 AM
|
|
|
|
|
saku69 wrote: Result selObject = ((sender as ListBox).SelectedItem) as Result;
Your sender is the Hyperlink control and not the listbox. You are trying to cast a Hyperlink (which is the sender) as a ListBox and hence you are getting a Null object. You are passing the null object to GetInfocard method which is causing the exception.
to get the selected item you should be doing
Result selObject = lbResults.SelectedItem as Result
I would suggest you to put a breakpoint in Infocard_Click and step in to find out why something is null. I am sure that it is because of you wrong casting as I have mentioned above.
|
|
|
|
|
Hi,
I'm new to WPF and have been into MFC for years.
I'm wondering if it is possible to send/post a msg. from a WPF exe onto a MFC exe and back after a job is done? My MFC app. can process messages from windows from all processes in the system but can a WPF app. process the same? I think 'yes' but how ... any pointers would be appriciated.
The reason I wan't this is to have a smooth presentation gui made in WPF and base its details on data that originates from the MFC app. In that way both participants do the job they are best at.
Kind regards,
Michael Mogensen
|
|
|
|
|
Michael Mogensen wrote: My MFC app. can process messages from windows from all processes in the system but can a WPF app. process the same?
WindowInteropHelper Class[^]
Michael Mogensen wrote: both participants do the job they are best at.
MFC is best at what?
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
|
Hi All,
I'm just writing some tests for a custom control library and I'm a bit stuck on how to actually raise the event. There is a ListBox in the control that I want to raise a SelectedItem event on and then check the arguments. I've been looking through the docs for xUnit and RhinoMocks but I'm still unsure how to do this.
Anyone have any links or ideas?
Cheers,
|
|
|
|
|
I would think of setting the SelectedItem/Index which should raise the event?
|
|
|
|
|
I've started investigating UIAutomationPeers as I'm going to implement automated tests on the UI of control.
Should be interesting!
|
|
|
|
|
Please have a look at my article related to UI Automation:
WPF_UI_Automation[^]
Calin
modified on Friday, February 13, 2009 12:06 PM
|
|
|
|
|
|
|
Is there three or more items in the combobox's ItemsSource?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|