|
Hello.
I create a UseControl and i'd like to add an collection DependencyProperty.
<br />
......<br />
private static DependencyPropertyKey ItemsPropertyKey = <br />
DependencyProperty.RegisterReadOnly("MyItems",<br />
typeof(List<TextBlock>), typeof(AutoCompleteTextBox),<br />
new FrameworkPropertyMetadata(new List<TextBlock>(), MyListChanged)<br />
);<br />
<br />
static void MyListChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)<br />
{<br />
}<br />
<br />
public List<TextBlock> MyItems<br />
{<br />
get { return (List<TextBlock>)GetValue(FileNameProperty); }<br />
set { SetValue(FileNameProperty, value); }<br />
}<br />
.........<br />
How can I do the same with a collection of string and not of TextBlock?
thanks
|
|
|
|
|
What is the problem with List<string> ?
AFAIK, You can create a DependencyProperty of any type. Just change the Type of List<textblock> to List<string>
Abhishek Sur
Don't forget to click "Good Answer" if you like this Solution. Visit My Website-->www.abhisheksur.com
|
|
|
|
|
The problem is that when I set the dependencyProperty on XAML I do something like:
<br />
<MyControlsNameSpace:MyControl.MyItems> <br><br />
<TextBlock Text="First Item" /> <br><br />
<TextBlock Text="Second Item" /> <br><br />
</MyControlsNameSpace:MyControl.MyItems><br />
But if I have a List of string I don't know How to set this property
Thanks
|
|
|
|
|
Well my friend, why don't you use ItemsControl in this regard.
You can go for ListBox.
<ListBox ItemsSource="{Binding}" DataContext="{StaticResource MyItems}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding MyProperty}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
If you are using List of STRING you dont need to specify property name. Use Text="{Binding}" which will eventually call ToString for the string object and get the value of it.
Abhishek Sur
Don't forget to click "Good Answer" if you like this Solution. Visit My Website-->www.abhisheksur.com
|
|
|
|
|
Hello
I'm not so good in wpf.
If I understand well you say that I have to change my property type to ItemsControl intead of String and add a ListBox with that XAML on my custom control.
Is it correct?
|
|
|
|
|
Yes you are in right path.
Abhishek Sur
Don't forget to click "Good Answer" if you like this Solution. Visit My Website-->www.abhisheksur.com
|
|
|
|
|
Hi,
I would like to add to my RichEditBox's ToolBar buttons that can switch language (and change direction), like in Word (maybe it is supported only with bi-language windows).
This feature is supported automatically by RichEditBox (and EditBox) and if I use the Alt+Shift I can switch language without any problem, question is how to implement a button that do this?
Logically I think there should have been an EditingCommand for this operation, but I couldn't find one.
Any idea (or better, sample code)?
Thanks,
Yariv
Here is an image showing the buttons I'm talking about:Image
|
|
|
|
|
Hello,
My application connects to sql server database and displays data...
In some of the tables in sql server, the data can be updated via other applications in the company...
In my silvelight application, how is it possible to update the UI controls everytime the data in the database is changed?
I guess I am after some kind of synchronization between the UI and the data on the database.
Any thoughts please?
Thanks
|
|
|
|
|
You need to periodically calling the service to check if data has changed and then update the UI (that should happen automatically provided INotify and Data binding have been properly implemented).
Another approach could be to use the Silverlight duplex communication channel[^]. This allows the service to tell the UI that something has changed and the UI needs to be refreshed.
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it.
My latest tip/trick
Visit the Hindi forum here.
|
|
|
|
|
I am in Silverlight and I want to determine which key was pressed by the user - and potentially refuse it.
The keydown event returns two events that seem to be useless. The Key property is missing most punctuation marks. The PlatformKeyCode only gives good character codes for capital letters and numbers. Punctuation and the 10-key pad don't work.
I've also tried the TextInput events. These do let you see the text of the key that was pressed, but it seems that by the time these events are called, it is too late to cancel the key stroke.
Have I missed something? or is just one of those things that can't be done in Silverlight?
Brent
Brent
|
|
|
|
|
Try KeyUp.
Purely my observation , but it works better than KeyDown in many cases.
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it.
My latest tip/trick
Visit the Hindi forum here.
|
|
|
|
|
KeyUp is essentially identical to KeyDown except for when the event is triggered. There is still no way to tell that the user pressed the period, question mark, etc. keys.
Brent
|
|
|
|
|
Can this [^]thread be of any assistance to you?
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it.
My latest tip/trick
Visit the Hindi forum here.
|
|
|
|
|
I read this and all of the side posts before posting my question. I read it again. It seems that Microsoft can't understand why anyone would need to type in something besides letters and numbers - or try to prevent a user from typing any garbage they want. I suppose that is too heavy for a silverlight application.
I was just hoping someone here had come up with a work-around.
Brent
Brent
|
|
|
|
|
hi
I am binding label through
<Label Content="{Binding Path=OrderDetails.OrderPaymentId}" FontSize="20">
now i want if the value of OrderDetails.OrderPaymentId=0
then the visibility of label become collapsed
please help how to do this using style or trigger
|
|
|
|
|
You need to create a value converter class, and bind the Visibility property to it in your xaml.
.45 ACP - because shooting twice is just silly ----- "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." - J. Jystad, 2001
|
|
|
|
|
<Label.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding Path=OrdeDetails.OrderPaymentId}" Value="0">
<Setter Property="Label.Visibility" Value="Collapsed"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
|
|
|
|
|
Or, like John said, write a value converter...
1) Create a class that inherits from IValueConverter
2) Implement the Convert function such that it returns Visibility.Collapsed for 0, or Visibility.Visible for anything else.
3) Create an instance of that class in your resources section in the XAML, and give it a key
4) Reference it in the binding:
{Binding OrderDetails.OrderPaymentId,Converter={StaticResource MyConverter}}
|
|
|
|
|
Converter works:
<UserControl.Resources>
<BooleanToVisibilityConverter x:Key="MyBooleanToVisibilityConverter" />
</UserControl.Resources>
...
<Button Name="btnSomeButton" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Click="btnSomeButton_Click" Width="40px" Height="40px" Visibility="{Binding Path=bIsVisible, ElementName=SomeControl, Mode=TwoWay}" >
<Image Source="..\Icons\SomeIcon.jpeg" ToolTip="SomeButton" />
</Button>
In above example, bIsVisible is a simple CLR property of type Boolean.
But as with any other "Enum", you do NOT need a converter, you could have binded a property of type "System.Windows.Visibility" directly to your control:
<Button Name="btnSomeCmd" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="3" Click="btnSomeCommand_Click" Width="40px" Height="40px" Visibility="{Binding Path=SomeButtonVisibility, ElementName=SomeControl, Mode=TwoWay, diagnostics:PresentationTraceSources.TraceLevel=High}" >
<Image Source="..\Icons\...; ToolTip="SomeCommand" />
</Button>
In above example, SomeButtonVisibility is a dependency property of type System.Windows.Visibility. I used a Dependency Property as supposed to a common CLR property only because I want take advantage of "Two Way" notification.
dev
|
|
|
|
|
You can try both the Solution given above. Both are perfect answer.
|
|
|
|
|
Hi All,
I have a wpf text box in which i am unable to press enter key, if i press its not doing anything,, actually i need if the user press enter button a new line should be inserted but its not happening..
do i need to do that in the Keydown event (finding the key pressed is enter)
or is there any other way. Please let me know.
Thanks in advance
|
|
|
|
|
|
Thanks Mr Kubajzz for your time and for your help.
I didnt set that property when i set that it works fine.
Thanks again
|
|
|
|
|
|
I am trying to build a sideways scrolling chart using SilverLight 3. I want to display multiple pieces of data that span a set of numerical values; however, the values are not parallel as they are in a bar chart that has a standard base value for each piece of data. Think of it as a Gantt chart with the top scale being zipcodes and the data being cities that contain the zipcodes. The data would be represented as a horizontal bar that spans a set of zipcodes. I actually looked into modifying a Gantt chart; however, since its primary function is to display data over a period of time, I am not certain if it will work.
Can anybody point me in a possible direction to solve my problem?
Using C# in SilverLight 3
Thanks for your time.
|
|
|
|