|
ljv_az wrote: I guess I'm looking for a little clearer direction. That's a little more than can be provided in a technical forum. You need to study the subjects of interest using books, online articles, as I already suggested, and maybe even a course of some kind.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Ok. I don't mean to be an ahole but did you read my original post? I have started developing a few WPF applications. I HAVE read books and taken some direction from videos and from other so called ".net developers". What I'm looking for is some clearer direction on how to get a good start the "right" way to develop WPF apps. Example... I see people using coordinates and sizes to layout their WPF window. Then I was told that is wrong. Only used mins and max's and padding. I use Visual Studio when designing my window or form. I was told that is garbage and I should hand key in the XAML for things like my grid rows and columns. On and on... So I was looking for an example of a small app that was done correctly and I could look at it and see how its done and use that as a good start for doing more complex apps the way WPF was inteneded to be used. I just find it a bit frustrating when you come across an example of a WPF app and then you start reading all the responses to the posting of that app and other people say it's wrong.
|
|
|
|
|
ljv_az wrote: What I'm looking for is some clearer direction And that's what I directed you towards: the CodeProject contains lots of great articles, many specific to WPF. If you are expecting a full tutorial on the 'proper' way to write WPF applications then I'm afraid you misunderstand the purpose of these forums, and should read again How to get an answer to your question[^].
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I'm done with the discussion. I didn't asked for a tutorial. Your being an idiot. I was asking for clarification and pointed out specific points of needed clarification but you just want to be an ahole. I'll gladly go somewhere else. I've been in the programming business for over twenty years I'm not stupid. I was simply looking for some clarification. There are alot of good people with alot of good help on discussion boards but there is always some wise ass. Thanks.
|
|
|
|
|
Well I think people can judge who is what here. I have tried to explain how this forum works, I have pointed you to articles that will give you lots of clarification of the issues you may be looking for (none of which you gave details of), and I refrained from insulting you.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I don't care what people think. I'm not interested in a popularity contest. You say I never gave you details... This is why I made the comment you don't read all of my response... I said, and you can look back...
" I see people using coordinates and sizes to layout their WPF window. Then I was told that is wrong. Only used mins and max's and padding. I use Visual Studio when designing my window or form. I was told that is garbage and I should hand key in the XAML for things like my grid rows and columns. On and on... So I was looking for an example of a small app that was done correctly and I could look at it and see how its done and use that as a good start for doing more complex apps the way WPF was inteneded to be used. " That would be details.....
I'm not going to go back and forth its not productive. And you are right, I don't need to insult anyone. I will go elsewhere.
|
|
|
|
|
ljv_az wrote: I was told that is wrong.
ljv_az wrote: I was told that is garbage
Told by whom, and why is their opinion the correct one?
ljv_az wrote: So I was looking for an example
And I told you where to find plenty, I did not give you a link to the specific one that you wanted because I don't have time to go and search for the exact application that you are demanding. Unfortunately, like too many people who make no contribution to this site, you seem to believe that you have the right to make any demands that you want here, and it's our responsibility to provide what you are demanding, despite the fact that it is costing you nothing.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
You are something... I never demanded anything. People go to forums for help, advice and examples. I have many times and still do give code examples for my old platform. I actually enjoy helping people. I don't play games and berate them. I found a few other sites and was gladly given some solid examples by decent people. I will delete my account here. You my friend are a piece of work.... Good bye!!
|
|
|
|
|
ljv_az wrote: I never demanded anything. On the contrary, you have repeatedly abused me for not providing what you are asking for, despite the fact that I told you where you could find it. As I said before, you are like so many people these days, if you don't get exactly what you ask for then you revert to type and become abusive.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
No, I went somewhere else and got what I was looking for from someone who's not an idiot. You are hilarious! You seem to have trouble with alot of people.
|
|
|
|
|
ljv_az wrote: You seem to have trouble with alot of people. No, just the ones who are too stupid or lazy to do anything for themselves.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Ahh, the perennial problem of what makes a good WPF application. Most of the time, the reasoning that you will be given will be parroted without actually understanding what and why it's really so.
In any case, most of the time what people are referring to is using MVVM. I would suggest that you search for the MSDN article on MVVM by Josh Smith. You might, also, look at one of the popular MVVM frameworks such as Cinch by Sacha Barber which has lots of documentation here on Code Project.
Unfortunately I am typing this on my phone so I can't give you direct links. They are easy to find though.
|
|
|
|
|
Try using Expression Blend, I used it to get me started with WPF and it helped me alot.
|
|
|
|
|
MVVM seems to be the appropriate style everyone can agree upon for WPF. My problem is with certain third party controls you can't use MVVM. I use Actipro Software's WPF ribbon for example and it doesn't support MVVM. Another issue I've had with MVVM is using Treeview controls and responding to the node selected. While there are way to do it in MVVM it seems way more difficult then simply using Visual Studio to create the events. The whole purpose is to separate the code from the XAML by using binding. While I do practice this for the most part sometimes you just can't justify writing something that has a learning curve which increases the projects time to complete by two fold. It boils down in my opinion to what ever method works best for you and the company you work for. I have a much better understanding of MVVM now than I had but it doesn't help to try to learn a new style of programming using controls that aren't designed to work with that style.
|
|
|
|
|
Ahh, the halcyon days of RPGLE - how I miss them (not!)
ljv_az wrote: Everybody has a different opinion on what is the right way to do it.
There's the clue to your dilemma; there is no 'right' way of doing WPF. You might decide to use MVVM or you might not - doesn't make it 'wrong'. In RPG you might use an 'if' or you might use one of those 'two-digits in a column that act like an if' things (it's been a while!) neither is 'wrong' it's often down to personal preference. (I had a manager who insisted on using the logic cycle in programs - but his reasons were, essentially, because that's what he was used to, coming from an RPG II background)
My rule of thumb is to listen to the REASONS people give for doing things one way (or not doing them that way) and make your own mind up.
Someone saying 'you shouldn't put any code in the code-behind' for example, is less than useless without the addition of a 'because...' If you listen to the 'because' bit you can then make up your own mind whether that's the 'right' way or not, and formulate your own rules; then next time someone criticises your code, you can respond with reasoned argument.
I've
|
|
|
|
|
Tengo Un ComboBox en WPF Que relleno MEDIANTE la ejecucion de las Naciones Unidas Procedure almacenado de SQL Server, con los NOMBRES de los Autores de determinados artículos de prensa. Hasta Ahí Perfectamente. El Problema Viene when despues de select sin autor (Apellidos, Nombre) Solicitar y Que me descomponga la Cadena MEDIANTE la división function (',') me da error al no encontrar El Segundo Elemento del array. La explicación está en Que intenta descomponer el Siguiente Resultado de la selección española en el ComboBox: ComboBoxWPF_LINQ_01.usp_ListadoCompletoAutoresResult, siendo ComboBoxWPF_LINQ_01 el Nombre de la Solución y usp_ListadoCompletoAutores el Procedure almacenado Que ejecuto párrafo llenar el ComboBox. Que el Código utilizo es el Siguiente: MostrarAutor private void () {string oAutor, oApellidos , oNombre; string [] CadenaSeparada; DataClasses1DataContext db = new DataClasses1DataContext (); . cboAutores.ItemSource db.usp_ListadoCompletoAutores = () ToList (); oAutor = cboAutotes.Text.ToString; CadenaSeparada = oAutor.Split (','); textBox1 . = Texto CadenaSeparada [0]; textBox2.Text CadenaSeparada = [1]; } Tambien le he probado con oAutor cboAutores.SelectedItem.ToString = () y tampoco me Funciona Las cadenas las Necesito párr Buscar en la Base de Datos los Artículos Escritos Cada autor de, Que Figuren en Ella. El ComboBox sí Llena Perfectamente con cadenas con la Siguiente Estructura Apellido1 Apellido2, Nombre Apellido1 Apellido2, Nombre Apellido1 Apellido2, Nombre .................. .................... (Apellido1 Apellido2, hijo Un solo campo) Selecciono sin artículo, y en el Texto del combo aparece la Cadena Seleccionada con La Misma Estructura, osea, Apellido1 Apellido2, Nombre, y es here Donde Comienzan los Problemas, Pues when Hago oAutor = cboAutotes.Text.ToString; ó oAutor = cboAutotes; me devuelve "ComboBoxWPF_LINQ_01.usp_ListadoCompletoAutoresResult", en Lugar De devolverme la cadena "Apellido1 Apellido2, Nombre", Nada Parecido con la Realidad.
|
|
|
|
|
Creo que necesitas hacer referencia al dataset que llena el combobox, no al valor de texto del mismo
Por cierto, intenta poner tus preguntas en ingles en este sitio, por que muy pocas personas podrán contestarte en español (no es imposible, pero no es lo mas recomendable).
I think you need to get the dataset value in the ComboBox, not the text in the CB itself.
BTW, try posting your questions in english, because too few people will answer your question in spanish.
|
|
|
|
|
Gracias por tu interés. El problema es que yo de inglés no se nada.
|
|
|
|
|
Dado que el sitio es de uso internacional, y al parecer la mayoria de los usuarios son de USA y UK, esta en tu mejor interes escribir en Ingles, esto tambien te ayudara a mejorar como programador ya que tendras acceso a mas material de aprendizaje.
Lo que va a pasar si no haces esto, es que recibiras tantos votos negativos que sera dificil que recibas respuestas. Si buscas recursos en espanol, te recomendaria la pagina de El Guille, aunque no se si siga activa y actualizada.
http://www.elguille.info/[^]
--------------------------------------------------
Since the site is of international use, and it seems the majority of users are from USA and UK, it is in your best interest to write in English, this will also help you improve as a programmer since you will have access to more learning materials.
What will happen if you don't do this, is that you will get so many downvotes that it will be difficult for you to get answers. If you are looking for resources in spanish, I would recommend you El Guille's site, although I don't know if its still active and updated.
http://www.elguille.info/[^]
|
|
|
|
|
Sabrías explicarme como hago lo que me dices. Gracias
|
|
|
|
|
Sorry about the heading, but I really couldnt resist. The question is realted to arcitecture of the implementation of ViewModels in WPF, and its based on the application a wrote an article about here[^], and the code that Im wondering about changing to, hopefully, something better is this:
I have a MainViewModel class where I initiate a Property of ObservableCollections, that contains elements of this class:
Public Class RadioButtonProperies
Private _Text As String
Public Property Text() As String
Get
Return _Text
End Get
Set(ByVal value As String)
_Text = value
End Set
End Property
Private _Index As Integer
Public Property Index() As Integer
Get
Return _Index
End Get
Set(ByVal value As Integer)
_Index = value
End Set
End Property
Private _IsChecked As Boolean = False
Public Property IsChecked() As Boolean
Get
Return _IsChecked
End Get
Set(ByVal value As Boolean)
_IsChecked = value
If value Then
SelectionIndexChanged(Index)
End If
End Set
End Property
Public Event SelectionIndexUpdated(ByVal index As Integer)
Private Sub SelectionIndexChanged(ByVal index As Integer)
RaiseEvent SelectionIndexUpdated(index)
End Sub
End Class
As you can see, I Raise an event when the IsChecked property is set to true, and this event is also raised and passed on from the MAinViewModel class, so I can react if you changed the RadioButton selection on the MainWindow:
Private _Intersections As MainViewModel
Public Sub New()
InitializeComponent()
_Intersections = DirectCast(rbtn.DataContext, MainViewModel)
AddHandler _Intersections.SelectionIndexUpdated, AddressOf rbtnSelectionChanged
End Sub
Public Sub rbtnSelectionChanged(ByVal Value As Integer)
DrawingControl.DrawingCanvas.CanvasEvent = Value
End Sub
My question is this: theres got to be a more effective way of doing this, as my implementation is really cumbersome, and the more I look at it the more ridiculose it seems, and the more i dislike it.
What are the guidelines for implementing functionallity like this? Are there any other ways whitch is easyer or better? Any thoughts?
Regards
Kenneth
|
|
|
|
|
class c#:
using System.Collections.ObjectModel;
namespace WpfApplication3
{
bindingListBoxTOstring.xaml
public partial class bindingListBoxTOstring : Window
{
ObservableCollection<ListBoxData> _ListBoxCollection =
new ObservableCollection<ListBoxData>();
public bindingListBoxTOstring()
{
InitializeComponent();
_ListBoxCollection.Add(new ListBoxData
{ Profilo = "netgear" });
_ListBoxCollection.Add(new ListBoxData
{ Profilo = "alice13" });
}
public ObservableCollection<ListBoxData> ListBoxCollection
{ get { return _ListBoxCollection; } }
public class ListBoxData
{
public string Profilo { get; set; }
}
}
}
in XAML which property should I use to make binding??
XAML code:
<Window x:Class="WpfApplication3.bindingListBoxTOstring"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="bindingListBoxTOstring" Height="300" Width="300">
<Grid>
<ListBox Height="100" HorizontalAlignment="Left"
Margin="108,67,0,0" Name="listBox1"
VerticalAlignment="Top" Width="120" />
</Grid>
</Window>
WPF, binding, ListBox
|
|
|
|
|
In your ListBox , you need to set the ItemsSource to your ListBoxCollection . To do this, you would add ItemsSource="{Binding ListBoxCollection}" in the ListBox . You also need to set the DataSource - as you are just learning, I would suggest keeping it simple and put DataContext = this; immediately after the call to InitializeComponent(); .
Finally, you need to actually display something in your ListBox - if you run the application as it stands, you won't see the underlying data because WPF has no way to tell that it should be displaying Profilo. What you want to do is add an ItemTemplate to your ListBox (I'll leave that to you to look up). So, your XAML will look like this:
<ListBox ItemsSource="{Binding ListBoxCollection}" ... put in your other settings here>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Profilo}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
|
|
|
|
|
ok!! it works!
|
|
|
|
|
before taking this way, I would add items to the listbox like this:
void InserisciItemInListBox(string s, ListBox lb)
{
ListBoxItem lbi = new ListBoxItem();
lbi.Content = s;
lb.Items.Add(lbi);
}
after that, I check which item was selected
private void ListBoxSelectedPrintText(object sender, SelectionChangedEventArgs e)
{
ListBoxItem item = ((ListBox)sender).SelectedItem as ListBoxItem;
String itemText = (item != null) ? item.Content.ToString() : String.Empty;
tb.Text = " You selected " + itemText; ;
}
i've updated XAML
<ListBox ItemsSource="{Binding ProfiliCollection}"
Width="100" SelectionChanged="ListBoxSelectedPrintText"
...
now I can not extract the text of the item selected, how do I fix it?
|
|
|
|
|