Laden...

Forenbeiträge von KingPin Ingesamt 376 Beiträge

25.08.2010 - 10:38 Uhr

ja ich weiss,

das ist auch mein problem...

tobit bietet keine unterstützung für programmierer, lediglich lehrgänge... und so tappt man im dunklen...
was meines erachtens nach, der verbreitung von tobit ein wenig im weg steht..

ist an der stelle aber egal.

ich dachte, dass hier jemand damit schon erfahrungen gesammelt hat...

die einzige möglichkeit die ich bisher gefunden hab-mit der ich mich aber schwer tue- ist die javascript-option in dieser api.

hierbei arbeitet die scriptsprache mit einer instanz des infocenters und ermöglicht es auch die oberfläche zu manipulieren.

da problem, was ich hier sehe, ist die instanz des infocenters... wie komm ich an die ran? bei javascript wird die instanz durch das infocenter übergeben. die scripte liegen dabei in einem speziellen verzeichnis des servers..
und kann man in c# auf javascript zugreifen??

25.08.2010 - 09:42 Uhr

hallo forum,

ich habe schon länger im netz nach einer lösung gesucht, leider aber nichts gefunden.

ich arbeite mit der dvapi32 von tobit. ich habe ein kleines programm geschrieben, welches nach bestimmten kriterien mails aussucht.

das funktioniert alles einwandfrei.

wenn ich die mail gefunden habe, möchte ich das david.infocenter öffnen und gleich die mail anzeigen lassen.

mit process.start() bekomm ich es auch auf. die darstellung der mail geht bisher aber noch nicht. ich müsste doch in die StartInfo parameter übergeben, welche sagen, dass das infocenter geöffnet werden soll und diese mail anzeigen soll.

weiss jemand eine möglichkeit?

13.08.2010 - 12:00 Uhr

nun ja...

nach dem aufruf der zweiten form kommt nichts....
bevor die form angezeigt werden sollt, werden 2 string-werte übergeben...

diese werden jedoch irgedwie nicht angezeigt...

der eventhandler ist weiterhin angemeldet... sonst nichts...

ich peil langsam nix mehr

13.08.2010 - 08:36 Uhr

also...

ItemNotificationType.Deleted

hab das hier geändert.. habs wohl übersehen.
daran lag es aber nicht.

ich habe aber jetzt statt .show()
.showDialog() ausprobiert.

damit scheint es zu funktionieren....

aber warum ist das so???

12.08.2010 - 15:50 Uhr

ein lock() führe ich nirgends durch...

hab mein gesamten quelltext durchsucht

es kann sein, dass der lock in der dll irgendwo durchgeführt wird, auf die ich zugreife....

12.08.2010 - 15:35 Uhr
public delegate void ItemEventHandler(object sender, ItemNotificationArgs e);

public event ItemEventHandler ItemNewEvent;

public virtual void OnNewItems(Archive pArchiveSource, IArchiveNotifyItems pItems)
        {
            doItemNotificationEvent(ItemNotificationType.New, pArchiveSource, pItems);

            if (ItemNewEvent != null)
            {
                ItemNewEvent(this, new ItemNotificationArgs(ItemNotificationType.Deleted, pItems, pArchiveSource));
            }
        }
12.08.2010 - 15:16 Uhr
public Form1()
        {
            InitializeComponent();
            wnd = new System.Windows.Forms.Form();
            wnd = null;

            //create an instance of the CoClass for the IArchiveNotification interface
            archiveNotification = new ArchiveNotification();

            //register some events for the ArchiveNotification           
            archiveNotification.ItemNewEvent+=new ArchiveNotification.ItemEventHandler(archiveNotification_ItemNewEvent);            
//anmeldung und der ganze rest...

}

private void archiveNotification_ItemNewEvent(object sender, ItemNotificationArgs e)
        {
            
            Notify n = new Notify();          
            n.Show();
//hier ist nur ein blankes fenster...            
          
        }
12.08.2010 - 15:08 Uhr

also einen thread habe ich dafür nicht erstellt.

lediglich eine normale winapplication.

im konstruktor gleich das ereignis angemeldet..

wie sieht in so einem fall der einsatz von invoke aus?

12.08.2010 - 14:51 Uhr

hallo leute,

hab heute eine recht seltsame erfahrung machen müssen.
ich hab ein windows prog(winforms) dabei habe ich eine form, diese reagiert auf ein ereignis und soll beim auftreten dieses ereignisses ein zweites form erstellen und zeigen.

es klappt alles so weit ganz gut. nur wenn das zweite fenster angezeigt werden soll, reagiert es von anfang an nicht. auch wenn dort keinerlei verarbeitungslogik drin ist. nur allgemeine sachen, die das design bestimmen.

wenn ich das relativ lange in dem zustand lasse bekomme ich vom debugger eine fehlermeldung: contextswitchdeadlock.

es ist eig ne stinknormale sache... ich hab das zweite fenster auch zur sicherheit im designer entworfen. das selbe ergebnis.

hat einer von euch schon mal etwas ähnliches gehabt?

12.05.2010 - 11:51 Uhr

hmm ok..

wenn das nun nicht geht, kann man das irgendwie anders umsetzen?

denn im template kann ich auf gotFocus ja nicht verweisen, wenn ich mich nicht täusche...?

12.05.2010 - 08:33 Uhr

so...
das ereignis hab ich getestet.. es wird ausgelöst..
ich habe den style noch folgendermaßen verändert (storyboard hat targetname bekommen), nun wirft er aber während der ausführung eine exception und sagt dass ich nem storyboard kein targename in nem style zuweisen kann...

<Style TargetType="TextBox">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TextBox}">
                    <Grid>
                        <Border CornerRadius="4" x:Name="Border" Padding="2" Background="LightYellow" BorderBrush="DarkBlue" BorderThickness="0">
                            <ScrollViewer
                                Margin="0" 
                                Content="{TemplateBinding Property=ContentControl.Content}"
                                Background="LightYellow"
                                FontFamily="Arial"
                                FontSize="11"
                                x:Name="PART_ContentHost" />
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <EventTrigger RoutedEvent="TextBox.GotFocus" >
                <EventTrigger.Actions>
                    <BeginStoryboard >
                        <Storyboard >                        
                            <ThicknessAnimation 
                                From="0" To="2"
                                Storyboard.TargetName="Border"
                                Storyboard.TargetProperty="BorderThickness"
                                Duration="0:0:10"
                                AutoReverse="False"
                                BeginTime="0:0:3">                            
                            </ThicknessAnimation>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>            
        </Style.Triggers>
    </Style>
11.05.2010 - 15:58 Uhr

daher mein einwand g

es funktioniert. ich danke dir fürs erste!

wenn ich noch eine frage stellen könnte...;)

ich hab versucht den style ein wenig auszubauen, um eine animation..
wenn die textbox nun den focus bekommt, soll der rahmen um sie sichtbar gemacht werden...und umgekehrt...

mein geistiger erguß sieht so aus und funktioniert nicht..

<Style TargetType="TextBox">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TextBox}">
                    <Border CornerRadius="4" Name="bord" Padding="2" Background="LightYellow" BorderBrush="DarkBlue" BorderThickness="0">
                        <ScrollViewer
                            Margin="0"
                            Background="LightYellow"
                            FontFamily="Arial"
                            FontSize="11"
                            x:Name="PART_ContentHost" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <EventTrigger RoutedEvent="GotFocus" >
                <BeginStoryboard >
                    <Storyboard >
                        <ThicknessAnimation 
                            From="0" To="2"
                            Storyboard.TargetProperty="BorderThickness"
                            Duration="0:0:10"
                            AutoReverse="False"
                            BeginTime="0:0:3">                            
                        </ThicknessAnimation>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>            
        </Style.Triggers>
    </Style>
11.05.2010 - 11:36 Uhr

so was ähnliches habe ich auch versucht

aber wenn ich das als style verwenden möchte kann ich ja in

<Style TargetType="TextBox">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type TextBox}">

nicht wieder

textbox reinbringen..
das führt doch zu einer unendl schleife in der dekleartion schon selbst???
auch laut aussage des designers..

geht das nicht, dass ich mehreren textboxes einen style zuweisen kann mit runden ecken und dass ich dort drinnen auch text eingeben kann?

hab grad n brett vorm kopf..

11.05.2010 - 09:56 Uhr

hallo forum,

mein resourcenwörterbuch hab ich nun zum laufen bekommen.

der nächste schritt den ich gern machen würde, wäre ein style für die textbox zu erstellen..

und zwar soll die dann runde ecken haben.. und je nachdem ob der focus vorhanden ist, soll sich die border einfärben..

ich habe beispiele gefunden, die aber mit einem textblock arbeiten.. der textblock ist aber nicht das was ich brauche...

<Style TargetType="TextBox">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type TextBox}">
          <Grid>
            <Rectangle Fill="White" 
                       RadiusX="7" RadiusY="7"
                       Stroke="Gray" StrokeThickness="2"/>
            <TextBlock HorizontalAlignment="Center"
                       VerticalAlignment="Center" FontFamily="Tahoma" 
                       FontSize="{TemplateBinding Property=FontSize}">
              <ContentPresenter Content="{TemplateBinding Property=Text}" />
            </TextBlock>
          </Grid>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
    <Style.Triggers>
      <Trigger Property="Control.IsMouseOver" Value="True">
        <Setter Property="Control.FontSize">
          <Setter.Value>
            20
          </Setter.Value>
        </Setter>
      </Trigger>
    </Style.Triggers>
  </Style>

dies ist ein beispiel für was ähnliches.. aber leider mit einem textblock..

da ich ein neuling hier drin bin, hab ich nicht so die ahnung.. kann man das auch für eine textbox machen?
der tausch von textblock zu textbox führt nämlich zu nem fehler..

11.05.2010 - 08:55 Uhr

danke für eure hilfe..
läuft!

11.05.2010 - 08:18 Uhr

genau damit habe ich probleme

ich weiss nicht, wie ich z.b. über den key auf die styles zugreifen kann- dann bekomme ich immer die meldung, dass es nicht aufgelöst werden konnte...

wahrscheinlich weise ich es auch falsch zu.. hab alles mögliche durch..

wie ist der normale weg?

und wie kann ich es anstellen, dass das wörterbuch für alle controls gleichzeitig wirkt?

soweit ich weiss, sollte ein verweis genügen...

10.05.2010 - 16:56 Uhr

hallo forum,

ich habe ein benutzerwörterbuch geschrieben-hoffe das es so weit richtig ist..

nun versuche ich es einzubinden.. werde allerdings nicht richtig schlau daraus..
entweder bekommt ich ne fehlermeldung, dass die angaben nicht gefunden werden können, oder die steuerelemente nehmen die vorgaben nicht an...

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style x:Key="windowStyle" TargetType="{x:Type Window}" >
        <Setter Property="Background" Value="AliceBlue"></Setter>
    </Style>
    <Style x:Key="usrControlStyle" TargetType="{x:Type UserControl}">
        <Setter Property="Background" Value="AliceBlue"></Setter>
    </Style>
    <Style x:Key="lblSytle" TargetType="{x:Type Label}">
       <Setter Property="Control.FontSize" Value="11"/>
       <Setter Property="Control.FontFamily" Value="Arial"/>
    </Style>

dies is ein ausschnitt aus dem wörterbuch

und in meinem usercontrol habe ich folgendes gemacht..

<UserControl.Resources>        
        <ResourceDictionary Source="Resources/Dictionary1.xaml" x:Name="resource"></ResourceDictionary>
    </UserControl.Resources>

hat jemand rat?

07.05.2010 - 09:52 Uhr

besten dank!
läuft 😃

07.05.2010 - 09:46 Uhr

ahh.. ok
werd das prüfen
danke schon mal..
ich verwende ein misch masch aus wpf und win-forms hier bei der sache...

07.05.2010 - 09:32 Uhr
public partial class Hardwarekategorien : Window
    {
        public HardwareBezeichnungen hardwareBezeichnung = new HardwareBezeichnungen();
        private List<HardwareBezeichnungen> hardwarebezeichnungen = new List<HardwareBezeichnungen>();

        public Hardwarekategorien()
        {
            InitializeComponent();
            gridView.ColumnHeadersHeight = 20;
            gridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
            gridView.AllowUserToAddRows = false;
            gridView.AllowUserToDeleteRows = false;
            gridView.AllowUserToResizeColumns = false;
            gridView.AllowUserToResizeRows = false;            
            hardwarebezeichnungen = generateGridSource();
            gridView.DataSource = hardwarebezeichnungen;
            gridView.Columns[0].Width = 45;
            gridView.Columns[1].Width = 153;
            gridView.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(gridView_CellClick);
            gridView.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(gridView_CellDoubleClick);
            gridView.KeyDown += new System.Windows.Forms.KeyEventHandler(gridView_KeyDown);
            gridView.Focus();
            gridView.Select();
            gridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;    
        }

        private void gridView_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if (e.KeyCode == System.Windows.Forms.Keys.Enter)
            {
                if (gridView.SelectedRows.Count > 0)
                {
                    hardwareBezeichnung = hardwarebezeichnungen[gridView.SelectedRows[0].Index];
                    this.Close();
                }
            }
        }        

        private void gridView_CellDoubleClick(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                hardwareBezeichnung = hardwarebezeichnungen[e.RowIndex];
                this.Close();
            }
        }

        private void gridView_CellClick(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
        {
            if(e.RowIndex!=-1)
                hardwareBezeichnung = hardwarebezeichnungen[e.RowIndex];
        }      
<Window x:Class="RptGerät.Hardwarekategorien"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="Hardwarekategorien" Height="330" Width="200" WindowStyle="ToolWindow" ResizeMode="NoResize">
    <Grid>
        <Grid.RowDefinitions >
            <RowDefinition Height="270"></RowDefinition>
            <RowDefinition Height="30"></RowDefinition>
        </Grid.RowDefinitions>
        
        <wfi:WindowsFormsHost VerticalAlignment="Stretch" Grid.Row="0" >
            <wf:DataGridView x:Name="gridView" RowHeadersVisible="False" />
        </wfi:WindowsFormsHost>
        <Button Height="25" Width="30" Content="Ok" Grid.Row="1" Click="Button_Click"></Button>
    </Grid>
</Window>
07.05.2010 - 09:17 Uhr

morgen!

ich hab ein problem..
ich habe ein kleines fester erstellt, in dem ein datagridview ist.
in diesem gridview möchte ich (nachdem es aufpoppt) gleich ohne umwege per tastatur durch die rows navigieren.

es funktionert, aber leider erst nachdem ich einmal in eine beliebige zelle geklickt habe.

ich habe bereits:

gridView.Focus();
gridView.Select();

probiert...
ohne gewünschtes ergebnis

ist der fokus doch nicht richtig gesetzt?
wo kann der fehler liegen?

03.05.2010 - 16:23 Uhr

hallo leute,

ich habe mich heut mit dem neuen vs auseinandergesetzt.
die uml-modellierung ist wirklich eine tolle sache.
was mir aber schwierigkeiten macht, ist das generieren des codes daraus.

google habe ich mehr als genug bemüht und ein spärliches ergebnis erhalten.

How to: Generate Files from a UML Model

das war meine informationsquelle.

bis jetzt kann ich nur die klassen generieren, aber keine attribute oder operationen abhängigkeiten..
(das step für step bsp)

kennt sich jemand von euch mit diesen templates besser aus?

die informationen was das angeht sind im netz ein wenig mau...

28.01.2010 - 13:09 Uhr

ok, hab das mal gemacht...

public string Text
        {
            get { return (string)GetValue(TextProperty); }
            set { SetValue(TextProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Text.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty TextProperty =
            DependencyProperty.Register("Text", typeof(string), typeof(WPFAutoCompleteTextBox), new UIPropertyMetadata(""));

damit scheint es jetzt zu gehen.
vielen dank!

28.01.2010 - 11:55 Uhr

dieses beispiel habe ich hier in einem anderen beitrag gefunden..

  DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(TextBox), new PropertyMetadata("")); 

ist das in etwa das was ich brauche?

nach der probe funktionierts aber noch nicht...
die instanz kann jetzt nicht erstellt werden...

28.01.2010 - 11:36 Uhr

hallo leute!

ich probiere mich grad an neuen sachen.
bei codeproject habe ich ein kleines beispiel für eine autocompletetextbox gefunden.
ist so weit eine feine sache.
was hierbei jedoch das problem ist: wenn ich dieser textbox, der texteigenschaft ein binding verpassen will, bekomme ich eine fehlermeldung:

"Binding" kann nicht für die Eigenschaft "Text" vom Typ "WPFAutoCompleteTextBox" festgelegt werden. "Binding" kann nur für eine "DependencyProperty" eines "DependencyObject" festgelegt werden.

nun habe ich im netz nach ansätzen gesucht, wie man das lösen kann..
es gibt zwar vieles- vieles habe ich auch ausprobiert.. es klappt aber nichts..
liegt auch daran, weil ich von der ganzen sache noch keine ahnung habe.

vielleicht könnte mir jemand bei der sache helfen?

dies ist der quelltext:

public partial class AutoCompleteTextBox : Canvas
    {
        #region Members
        private VisualCollection controls;
        private TextBox textBox;
        private ComboBox comboBox;
        private ObservableCollection<AutoCompleteEntry> autoCompletionList;
        private System.Timers.Timer keypressTimer;
        private delegate void TextChangedCallback();
        private bool insertText;
        private int delayTime;
        private int searchThreshold;
        #endregion

        #region Constructor
        public AutoCompleteTextBox()
        {
            controls = new VisualCollection(this);
            InitializeComponent();

            autoCompletionList = new ObservableCollection<AutoCompleteEntry>();
            searchThreshold = 2;        // default threshold to 2 char

            // set up the key press timer
            keypressTimer = new System.Timers.Timer();
            keypressTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);

            // set up the text box and the combo box
            comboBox = new ComboBox();
            comboBox.IsSynchronizedWithCurrentItem = true;
            comboBox.IsTabStop = true;
            comboBox.TabIndex = 1;
            comboBox.SelectionChanged += new SelectionChangedEventHandler(comboBox_SelectionChanged);

            textBox = new TextBox();
            textBox.TextChanged += new TextChangedEventHandler(textBox_TextChanged);
            textBox.VerticalContentAlignment = VerticalAlignment.Center;

            controls.Add(comboBox);
            controls.Add(textBox);
        }
        #endregion

        #region Methods
        public string Text
        {
            get { return textBox.Text; }
            set 
            {
                insertText = true;
                textBox.Text = value; 
            }
        }

        public int DelayTime
        {
            get { return delayTime; }
            set { delayTime = value; }
        }

        public int Threshold
        {
            get { return searchThreshold; }
            set { searchThreshold = value; }
        }

        public void AddItem(AutoCompleteEntry entry)
        {
            autoCompletionList.Add(entry);
        }

        private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (null != comboBox.SelectedItem)
            {
                insertText = true;
                ComboBoxItem cbItem = (ComboBoxItem)comboBox.SelectedItem;
                textBox.Text = cbItem.Content.ToString();
            }
        }

        private void TextChanged()
        {
            try
            {
                comboBox.Items.Clear();
                if (textBox.Text.Length >= searchThreshold)
                {
                    foreach (AutoCompleteEntry entry in autoCompletionList)
                    {
                        foreach (string word in entry.KeywordStrings)
                        {
                            if (word.StartsWith(textBox.Text, StringComparison.CurrentCultureIgnoreCase))
                            {
                                ComboBoxItem cbItem = new ComboBoxItem();
                                cbItem.Content = entry.ToString();
                                comboBox.Items.Add(cbItem);
                                break;
                            }
                        }
                    }
                    comboBox.IsDropDownOpen = comboBox.HasItems;
                }
                else
                {
                    comboBox.IsDropDownOpen = false;
                }
            }
            catch { }
        }

        private void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
        {
            keypressTimer.Stop();
            Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                new TextChangedCallback(this.TextChanged));
        }

        private void textBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            // text was not typed, do nothing and consume the flag
            if (insertText == true) insertText = false;
            
            // if the delay time is set, delay handling of text changed
            else
            {
                if (delayTime > 0)
                {
                    keypressTimer.Interval = delayTime;
                    keypressTimer.Start();
                }
                else TextChanged();
            }
        }

        protected override Size ArrangeOverride(Size arrangeSize)
        {
            textBox.Arrange(new Rect(arrangeSize));
            comboBox.Arrange(new Rect(arrangeSize));
            return base.ArrangeOverride(arrangeSize);
        }

        protected override Visual GetVisualChild(int index)
        {
            return controls[index];
        }

        protected override int VisualChildrenCount
        {
            get { return controls.Count; }
        }
        #endregion
    }
}

wie kann man hier ein binding für "text" realisieren?

15.12.2009 - 13:08 Uhr

sagt mir jetzt wo mein fehler liegt oder der unterschied drin ist... aber ich versteh das nicht ganz...

DateTime d = new DateTime();
bool l = d.Equals( new DateTime());

kommt true dabei raus....

aber wenn ich jetzt eine LinqToSql-Klasse nehme, bekomm ich false

rptCustomers c = new rptCustomers();
bool l = c.Equals(new rptCustomers());

mit == ist es das gleiche...

15.12.2009 - 12:32 Uhr

mir ist es hierbei egal ob sich was verändert und wieder auf den anfagswert zurückgesetzt wird.

ich will nur feststellen können, ob das objekt immer noch den selben zustand hat, den der standardkonstruktor hergestellt hat.

15.12.2009 - 10:55 Uhr

ok..

hab es leider befürchtet;)

also irgendwas was vom framework implementiert ist gibt es also nicht...

15.12.2009 - 10:49 Uhr

hallo!

ich hab mal wieder ein kleines problem bei dem ich nicht weiter komme.

ich habe mehrere objekte vom selben typ, die mit dem standardkonstruktor erstellt werden.

alle werte(properties) sind dabei null bzw. leer.

wie kann man prüfen, ob das objekt noch in diesem zustand ist, ohne dabei z.b. inotifypropertychanged zu verwenden?

09.12.2009 - 16:21 Uhr

mhh

wie würde das dann aussehen?

bin jetzt etwas überfragt...

09.12.2009 - 15:57 Uhr

hab das jetzt mit extensionmethods gelöst.

hier der quelltext..

     public static object GetObjectByInstanceAttribute(this List<object> objekte, string InstanceName)
        {
            foreach (object o in objekte)
            {
                if (o.GetType().GetCustomAttributes(typeof(RptClasses.InstanceAttribut), false).Count() > 0)
                    if (InstanceName == ((RptClasses.InstanceAttribut)o.GetType().GetCustomAttributes(typeof(RptClasses.InstanceAttribut), false)[0]).InstanceName)
                        return o;              
            }
            return null;
        }

es funktioniert so wie ich das wollte... ist zwar auf einen attributtyp festgenagelt, aber reicht fürs erste...

eure meinung dazu?

09.12.2009 - 13:55 Uhr

ich weiss dass sich reflection negativ auf die geschwindigkeit auswirkt.
es würde nur in einem unterpunkt anwendung finden, was sich somit verschmerzen ließe.

es gibt keine basisklasse, weil es bei mir in diesem falle einfach keinen sinn machen würde, auch wenn es auf der hand liegt, dass aufträge eine basisklasse haben sollten. daher will ich attribute verwenden!

09.12.2009 - 13:40 Uhr

nun ja.. mit der property würde das nich gehen...
es gibt ja noch viele andere auftragsarten.
diese sollen nicht unbedingt in der klasse auftauchen.

der ansatz mit linq klingt aber interessant....
ich probier mich daran mal aus...

für weiteres wäre ich auch noch offen;)

09.12.2009 - 12:55 Uhr

es handelt sich in der liste um aufträge. diese gehören zu unterschiedlichen klassen.

manche aufträge haben gemeinsamkeiten, die über attribute gekennzeichnet sind.
manche haben aber auch keine gemeinsamkeiten, was auch durch die attribute markiert wird.

wenn ich nun in der liste angenommen 10 aufträge habe, wollte ich eben durch die angabe des attributes den auftrag auswählen, der z.b. mit den anderen nichts gemeinsam hat und ihn dann bearbeiten...an welcher stelle er in der liste steht ist nicht bekannt und immer anders. iterieren wollte ich an sich nicht...
ich hatte mir das so vorgestellt, dass ich einfach sage gib mir das element, welches das attribut "spezialauftrag" hat...
daher der versuch....

ist der gedankengang an sich umsetzbar, oder eher nicht zu gebrauchen?

09.12.2009 - 11:56 Uhr

ja das meine ich.. vielleicht hab ích mich nur unglücklich ausgedrückt.

was ich will:
ich hab eine liste vom typ object.
in dieser sind unterschiedliche instanzen von unterschiedlichen klassen drin.
diese haben auch unterschiedliche attribute.

nun soll es ja so funktionieren, dass ich durch die angabe des attributes auf das element in der liste zugreifen kann.

auf die normale liste bin ich gar nich so festgeschossen...

suche eher nach dem how to...

09.12.2009 - 11:44 Uhr

einen schönen guten tag wünsche ich!

ich hab eine frage an euch:
ist es möglich ein objekt aus einer liste durch ein angehängtes attribut auszuwählen?

man kann ja elemente in einer liste durch ElementAt(index) auswählen..
ist dies in ähnlicher form durch die angabe eines attributes möglich?

z.b. element der liste, bei dem das attribut "kunde" ist..

danke.

03.12.2009 - 09:18 Uhr

hallo leute.

ich habe eine klassenbibliothek erstellt, die auch das INotifyPopertyChanged in allen klassen implementiert.

diese klassenbibliothek habe ich in einem webservice eingebunden. alles klappt bisher einwandfrei.

wenn ich nun im client des webservice auf die klassenbibliothek des webservice zugreife(webservice per referenz eingebunden) und das inotifypropertychanged ereignis abonnieren will, ist dies im klassenkonstrukt des client nicht verfügbar. keine klasse besitzt nun dieses ereignis. wenn ich jedoch am webservice direkt veränderungen vornehme, ist dieses ereignis in den klassen verfügbar.

was könnte falsch sein?
oder soll das so sein?

27.11.2009 - 15:51 Uhr

ok.. einfach das itemtemplate raus.. dann gehts...

27.11.2009 - 14:52 Uhr

mal wieder das leidige thema der datenbindung...

die bindung an sich funktioniert einwandfrei, so weit ich das feststellen kann.
in der combobox habe ich auch meine 2 testelemente(jedoch unsichtbar-kein text)

wähle ich jedoch eines aus der box aus, wird der entsprechende wert auch ausgewählt und wieder zugewiesen.
zum code:

<ComboBox IsSynchronizedWithCurrentItem="True"
                  ItemsSource="{Binding SpielzeugListe}"
                  Name="Spielzeug_combo"
                  SelectedItem="{Binding Spielzeug}"                  
                  HorizontalAlignment="Stretch" Grid.Row="3" Height="20" VerticalAlignment="Bottom" Margin="5" TabIndex="55">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding SpielzeugListe???????}" />
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
        public ObservableCollection<string> SpielzeugListe
        {
            get { return this.spielzeug; }

            set
            {
                if (value != spielzeug)
                {
                    spielzeug = value;
                    //NotifyPropertyChanged("Spielzeug");
                }
            }
        }
string Spielzeug;

ins Spielzeug werden die richtigen werte übergeben.. nur sehe ich nich in der combobox was ich gerade auswähle...

23.11.2009 - 10:45 Uhr

hallo forum!

ich hätte ein kurze frage..
weiss jemand von euch, wo eigentlich webreferenzen für ein programm gespeichert werden?

04.08.2009 - 15:36 Uhr

an sich übergibt man der notification direkt den text..
ob es mit dem namen der przedur geht.. müsste man ausprobieren....

und mit linqToSql..? gibt es vielleicht da etwas?

04.08.2009 - 11:09 Uhr

verwendetes Datenbanksystem: <Sql Server 05>

hallo leute!

ich hab folgende frage: ist es möglich den command text aus einer stored procedure zu bekommen?

ich möchte in meinem projekt gerne queryNotifications einsetzen, für die man ja den command text braucht.

in meinem projekt setze ich auf stored procedures... was so ein kleines problem für mich darstellt...

danke

28.07.2009 - 15:51 Uhr

nun..
choice soll ein wert sein, der angibt, ob es ein update, insert, oder select werden soll...
war fürs erste so angedacht..
in reparatur sind ziemlich viele felder drin, die man als parameter ausschreiben müsste.. das will ich irgendwie umgehen..

wie soll das mit der proxy-klasse funktionieren?
habs so noch nicht gemacht...

und an eine stored procedure kann man kein objekt in dem sinne von c# übergeben wie man das gewoht ist.

kann man da irgendwelche strukturen festlegen?

28.07.2009 - 13:26 Uhr

verwendetes Datenbanksystem: <SqlExpress/Server05>
hallo leute!
ich hab ne frage zu stored procedures..

ich rufe meine über folgendes auf(das ganze ist mit nem datacontext verbunden)

[Function(Name = "dbo.GetHoleReparatur")]
       public ISingleResult<RptClasses.Reparatur> GetSetReparatur([Parameter(DbType = "int")] string RepNr, [Parameter(DbType = "int")] string choice)
       {
           IExecuteResult result = ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())));
           return ((ISingleResult<RptClasses.Reparatur>)(result.ReturnValue));
       }

wie man sehen kann, werden dort auch parameter übergeben..
da ich nun etwas faul bin, wollt ich mal nachfragen(vorneweg google genutzt..) ob man auch ein objekt übergeben könnte, weil ich nicht so viel tippen will...

ich hatte irgendwas mit nem cursor gefunden, dem man ein array übergeben könnte...aber so richtig zufreidenstellend fand ich das nich...

28.07.2009 - 11:04 Uhr

hatt ich mir auch schon gedacht....

google auch genutzt.. wahrscheinlich mit anderen begriffen..

danke!

28.07.2009 - 10:43 Uhr

hallo leute,

ich glaub die frage wurde hier schon oft besprochen.. will das nur als bestätigung haben...

geht es mit linqToSql auch auf eine mdb zuzugreifen (insbesondere auf stored procedures) bei ner access datenbank?

15.07.2009 - 11:20 Uhr

besten dank!

15.07.2009 - 08:43 Uhr

sorry.. ich stell mich da ein wenig an...
hab in wpf noch nie groß mit namespaces und namensvergabe was gemacht..
hab mich jetzt seit gestern dran versucht...
wo genau muss die klasse sich befinden(wenn ich ein usercontrol hab)
wie läuft das einbinden eigener ressourcen?

danke für die geduld

14.07.2009 - 15:09 Uhr

danke für den link..
ich versteh aber das konzept mit dem converter nicht ganz....
insbesondere das im binding...

Converter={StaticResource nullableBooleanConverter}

da ich das noch nicht kapiert hab, hab ich auch noch n fehler:
Fehler 1 Der StaticResource-Verweis "nullableBooleanConverter" wurde nicht gefunden.

hätte noch etwas erklärungsbedarf

es geht um diesen link..
http://geekswithblogs.net/claraoscura/archive/2008/10/17/125901.aspx

14.07.2009 - 14:15 Uhr

moin.
ich hätt ne kurze frage zum obigen thema.
ich habe 2 radiobuttons und einen booleschen wert in der klasse.
dies hier funktioniert..

IsChecked="{Binding Path=IsGeschäftskunde}"

wie kann ich es aber machen, dass das andere radiobutton den Wert
!IsGeschäftskunde annimmt?